LCR 176. 判断是否为平衡二叉树

LCR 176. 判断是否为平衡二叉树_第1张图片

LCR 176. 判断是否为平衡二叉树_第2张图片

解题思路:

LCR 176. 判断是否为平衡二叉树_第3张图片

LCR 176. 判断是否为平衡二叉树_第4张图片

class Solution {
    public boolean isBalanced(TreeNode root) {
        return recur(root) != -1;
    }

    private int recur(TreeNode root) {
        if (root == null) return 0;
        int left = recur(root.left);
        if(left == -1) return -1;
        int right = recur(root.right);
        if(right == -1) return -1;
        return Math.abs(left - right) < 2 ? Math.max(left, right) + 1 : -1;
    }
}

你可能感兴趣的:(算法,leetcode,数据结构,java)