【发布时间】:2021-08-08 02:45:56
【问题描述】:
我正在尝试查看我的二叉搜索树中是否包含一个值,并且我正在使用递归遍历该树。问题是函数返回 false 作为调用堆栈上的最后一个值,而不是 true。
这是伪代码:
public boolean containsValue(Node node, Value v) {
if (node.value.equals(v)) {
return true;
}
containsValue(node.left, v); // <- search left tree
containsValue(node.right, v); // <- search right tree
return false;
}
这总是返回 false。
但是我不能这样做,因为第二个 return 语句是死代码:
return containsValue(node.left, v);
return containsValue(node.left, v);
那么我该如何解决这个问题?
【问题讨论】: