每日一题,(110),简单

/**

 * 1. 题目非常简单,刚开始还想着有没有什么更好的方法。不过很快就觉得递归就是最快的。10分钟就写好了,一次通过。

 * 2. 1ms,击败99.76%; 40MB,击败27.34%;

 * 

 */

class Solution {

    public boolean isBalanced(TreeNode root) {

        if(isBalancedHelp(root) < 0){

            return false;

        }

        return true;

    }

    public int isBalancedHelp(TreeNode root){

        if(root == null){

            return 0;

        }

        int leftNumber = isBalancedHelp(root.left);

        int rightNumber = isBalancedHelp(root.right);

        if(leftNumber < 0 || rightNumber < 0){

            return -1;

        }

        if(Math.abs(leftNumber-rightNumber)>1){

            return -1;

        }

        return Math.max(leftNumber + 1, rightNumber+1);

    }

}

你可能感兴趣的:(每日一题,(110),简单)