1
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中搜索一个节点,问题是这个函数返回了几次。它确实返回正确的节点,但最终返回 Null。帮我改进一下。

4

1 回答 1

1

改变

    search(value, root.Right);

    return search(value, root.Right);

(也为root.Left)。

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

于 2013-04-27T11:53:40.197 回答