Integer 对象在函数之间的引用传递起不到全局的作用

 //实现排序二叉树的第k个节点的查找
 TreeNode target = KthNode(p,2);
 public static TreeNode KthNode(TreeNode pRoot, int k)
    {
        if(pRoot == null || k < 1 ){
            return null;
        }
        //ArrayList<Integer> list = new ArrayList<Integer>();
        //list.add(k);
        return KthNode(pRoot,new Integer(k));
    }
    public static TreeNode KthNode(TreeNode p,Integer K){

        TreeNode target = null;
        if(p.left != null){

            target = KthNode(p.left,K);
        }

        if(target == null){

            K--;
            if(K == 0){
                target = p;
            }
        }

        if(target == null && p.right != null){

            target = KthNode(p.right,K);
        }
        return target;
    }

本意是使用Integer对象的引用再函数间传递,使得函数内的修改可以反映到上一层,但是现在下层函数的修改却不能体现到上一层函数,而使用list对象就可以

查看全部
csdnfirst1
晶晶下的小红帽
2015/09/12 12:52
  • java
  • 点赞
  • 收藏
  • 回答
    私信

2个回复