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

判断是不是平衡二叉树

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;
        
    }
}        

全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
牛客吹哨人:哨哥晚点统一更新到黑名单:能救一个是一个!26届毁意向毁约裁员黑名单https://www.nowcoder.com/discuss/1525833
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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