TreeNode search(int value, TreeNode root)
{
if(root.data==value)
{
return root;
}
else if(root.data < value)
{
search(value, root.Right);
}
else if (root.data > value)
{
search(value, root.Left);
}
return root;
}
我想在BST中搜索一个节点,问题是这个函数多次返回。它确实返回正确的Node但最终返回Null。帮助我改进它。
答案 0 :(得分:1)
更改
search(value, root.Right);
到
return search(value, root.Right);
(以及root.Left
)。
否则,您忽略了递归调用的返回值。