判断是否为平衡二叉树——题解

平衡二叉树

https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId=13&&tqId=11192&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

(记录)平衡二叉树的树结构是左右子树的高度差小于等于1。因此计算左右子树的高度,然后比较大小关系。子树高度的计算采用递归地方式,不断入层。

一棵树的高度等于左右子树中高度比较大的那个。

public class Solution {
    public boolean IsBalanced_Solution(TreeNode root) {
        if (root==null) return true;
        int left = depth(root.left);
        int right = depth(root.right);
        if(Math.abs(left-right) > 1)
            return false;
        return true;
    }
    
    
    public int depth(TreeNode root){
        if (root==null)
            return 0;
        int left = depth(root.left);
        int right = depth(root.right);
        return left>right?(left+1):(right+1);
    }
    
}


全部评论

相关推荐

06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
07-16 17:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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