BST中的递归搜索

时间:2013-04-27 11:50:49

标签: java recursion binary-search-tree

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。帮助我改进它。

1 个答案:

答案 0 :(得分:1)

更改

    search(value, root.Right);

    return search(value, root.Right);

(以及root.Left)。

否则,您忽略了递归调用的返回值。