在树上执行二进制搜索时出现堆栈溢出错误。我认为它有一个有效的递归终止条件,但我不确定。执行二进制搜索树搜索时发生堆栈溢出错误
TreeNode Find(TreeNode tree, int value) {
if((tree.val == value) || tree==null)
return tree;
else if(value < tree.val)
return Find(tree.left, value);
else
return Find(tree.right, value);
}
树是BST。 – Geekrrr
1)你应该做树== null || tree.val ==值(所以如果它为空,它不会崩溃2)你确定你的BST是一棵树,并没有以某种方式最终成为一个循环? (建议在遍历时打印出值) – Foon
我认为这是一篇关于StackOverflow站点XD中的错误的文章。 – GameDeveloper