【发布时间】:2014-06-30 06:57:14
【问题描述】:
我有一棵 BST 树。我想创建一个方法来获取一个值并返回包含它的值的节点的级别(root = 0),没有这样的节点吗?返回-1。 我想递归地做。 这段代码工作得很好:
private int recursiveContains(BinaryNode node, int searchVal){
int nodeKey = node.nodeKey;
if (searchVal < nodeKey){
if (node.leftChild != EMPTY_NODE)
return 1 + recursiveContains(node.leftChild, searchVal);
}else if (searchVal > nodeKey){
if (node.rightChild != EMPTY_NODE)
return 1 + recursiveContains(node.rightChild, searchVal);
}
return 0;
}
但是,只要树包含搜索值。
当我到达叶子但没有找到值时,如何停止迭代并返回 -1? 可以递归吗?
谢谢
【问题讨论】:
标签: java recursion binary-search-tree