在樹上執行二進制搜索時出現堆棧溢出錯誤。我認爲它有一個有效的遞歸終止條件,但我不確定。執行二進制搜索樹搜索時發生堆棧溢出錯誤
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