中序查找二叉树中给定值的节点并返回

Nat*_*han 1 java search binary-tree

以中序方式找到二叉树中的节点,并返回\nPS\xef\xbc\x9a 二叉树可能包含两个具有相同值的节点。\nit 以前序方式很容易做到

\n\n
Node find(Node root, int val){...}\n
Run Code Online (Sandbox Code Playgroud)\n\n

任何人都可以分享解决方案吗?

\n

smk*_*smk 5

还没有彻底测试过,但这段代码应该可以工作。

public TreeNode find(TreeNode cur,int val) {

        TreeNode result = null;
        if(cur.left != null)
            result = find(cur.left,val);


        if(cur.value == val)
            return cur;
        if(result ==null && cur.right != null)
            result = find(cur.right,val);

        return result;

    }
Run Code Online (Sandbox Code Playgroud)