LeetCode - 110. 平衡二叉树

110. 平衡二叉树

import java.util.*;

 class TreeNode {
     int val;
     TreeNode left;
     TreeNode right;
     TreeNode(int x) { val = x; }
 }
class Solution {

    private int deep(TreeNode root) {
        if (Objects.isNull(root)) {
            return 0;
        }

        return Math.max(deep(root.left), deep(root.right)) + 1;
    }

    public boolean isBalanced(TreeNode root) {
        if (Objects.isNull(root)) {
            return true;
        }

        return Math.abs(deep(root.left) - deep(root.right)) <= 1 && isBalanced(root.left) && isBalanced(root.right);
    }
}


猜你喜欢

转载自blog.51cto.com/tianyiya/2176045