【问题标题】:Find the node with given value in binary tree in in-order way and return it在二叉树中按顺序查找给定值的节点并返回
【发布时间】:2013-10-20 01:21:02
【问题描述】:

中序查找二叉树中的节点,并返回 PS:二叉树可能包含两个值相同的节点。 预订方式很容易做到这一点

Node find(Node root, int val){...}

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

【问题讨论】:

  • @smk 我尝试递归解决它,一旦我找到节点如何停止并返回它?

标签: java search binary-tree


【解决方案1】:

尚未对其进行彻底测试,但此代码应该可以工作。

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;

    }

【讨论】:

  • 感谢 cur.value==val 之前稍作修改 你还需要检查是否 result==null
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多