我在执行此功能时遇到一些问题:
public boolean find(Integer i)
起初我试过了:
public boolean find(Integer i) {
Node currNode = root;
if (currNode.getData() != i) {
return false; // we didnt find it
}
if (currNode.getLeft() != null && find(currNode.getLeft().getData())) {
return true;
}
if (currNode.getRight() != null && find(currNode.getRight().getData())) {
return true;
}
else
return false;
}
但这只是在我的测试用例中给了我false
。我想知道如何在二叉树中找到特定数据,如果在二叉树中找到输入数据,则返回true
。
答案 0 :(得分:0)
根据您提供的代码,我猜这更像是您想要的:
public boolean find(Integer i) {
if (getData().intValue() == i.intValue()) {
return true; // we found it
}
if (getLeft() != null && getLeft().find(i)) {
return true;
}
if (getRight() != null && getRight().find(i)) {
return true;
}
return false;
}
如果没有,请提供更多解决方案代码,以帮助指导更好的答案。