Leetcode Q543. Diameter of Binary Tree

    public int diameterOfBinaryTree(TreeNode root) {
        int[] d = new int[1];
        maxDepth(root,d);
        return d[0];
    }

    public int maxDepth(TreeNode root, int[] d) {
        if (root == null) return 0;
        int left = maxDepth(root.left, d);
        int right = maxDepth(root.right, d);
        d[0] = Math.max(d[0], left + right);
        return Math.max(right,left) + 1;
    }

这个是视频中的写法,将d作为一个数组当做参数。但是,我如果改成一个int 类型的参数,答案就不对。请问这个具体原因什么呢。

@Michael

回答: