题解 | #判断是不是平衡二叉树#

判断是不是平衡二叉树

https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222

// 通过递归计算左右节点的深度判断是否为平衡二叉树




public class Solution {
    
    public boolean IsBalanced_Solution(TreeNode root) {
        
        if(computeDeep(root)<0){
            return false;
        }
        return true;
        
    }
    
    int computeDeep(TreeNode root){
        if(root==null){
            return 0;
        }
                // 递归计算左右子数的深度
        int left = computeDeep(root.left);
        int right = computeDeep(root.right);
                // 如果深度相差大于1,则返回负数值,向上返回都为负值
        if(left-right>1 || left-right<-1){
            return -2;
        }
                // 相差深度小于等于1,返回当前节点的深度
        return Math.max(left,right)+1;
        
    }
}        

全部评论

相关推荐

点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:22
怎么这么多逆天求职者,救救我救救我救救我😭
flmz_Kk:哈哈哈哈哈哈,这么多求职者,肯定有那一两个逆天的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务