每日一题,(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);

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。