用Java判断是否是平衡二叉树

用Java判断是否是平衡二叉树_第1张图片

用Java判断是否是平衡二叉树_第2张图片

 public boolean isBalanced(TreeNode root) {
        if (root == null) {
            return true;
        }
        int leftlength=height(root.left);
        int rightlength=height(root.right);
        if( Math.abs(leftlength - rightlength) <= 1 && isBalanced(root.left) && isBalanced(root.right)){return true;}
        return false;

    }

    public int height(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int rootleft=height(root.left);
        int rootright=height(root.right);
        return Math.max(rootleft, rootright) + 1;

    }

你可能感兴趣的:(java,算法,开发语言)