我有一个奇怪的问题关于下面的代码。我编写代码来搜索树。一棵树把两样东西放在一起!
public TreeNode<City> search(City parent, TreeNode<City> t){
if (t.getCity().equals(parent)) {
System.out.println("ccc");
return t;
}
else if (t.hasLeftChild()){
System.out.println("bbb");
search(parent,t.getLeftChild());
}
else if(t.hasNextSibling()){
System.out.println("aaa");
search(parent,t.getNextSibling());
}
return null;
}
奇怪的是:假设我的树中只有一个元素。然后,当我尝试将一个元素添加到我的树中时,该方法正常工作。但是,当有两个元素(一个父母和一个孩子),并且我搜索孩子时,屏幕上显示的是“ccc”,代码返回的内容为空!
我想没人会遇到那种愚蠢的情况。请帮帮我!
这里没有足够的代码来解决这个问题。请包括语言,'TreeNode'的实现,以及你期望看到的输出。 – recursive 2011-05-25 21:50:09