力扣leetcode 110. 平衡二叉树 java

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    boolean flag = true;
    public int abs(int a) { return a > 0? a : -a; }
    public int max(int a, int b) { return a > b ? a : b; }
    public int getHight(TreeNode root)
    {
        if(root == null) return 0;
        int leftHight = getHight(root.left);
        int rightHight = getHight(root.right);
        if(abs(leftHight - rightHight) > 1) flag = false;
        return max(leftHight, rightHight) + 1;
    }
    public boolean isBalanced(TreeNode root) {
        getHight(root);
        return flag;
    }
}

你可能感兴趣的:(每日一题leetcode)