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

判断是不是平衡二叉树

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

package com.hhdd.数据结构.树;

/**
 * @Author huanghedidi
 * @Date 2022/8/24 23:35
 */
public class 判断是否平衡二叉树 {

    public boolean IsBalanced_Solution(TreeNode root) {
        int res = treeDepth(root);
        return res == -1 ? false : true;
    }

    public int treeDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        /**
         * 求左子树深度
         */
        int l = treeDepth(root.left);
        // 返回 -1 则说明左子树已不是平衡二叉
        if (l == -1) {
            return -1;
        }
        int r = treeDepth(root.right);
        if (r == -1) {
            return -1;
        }
        if (Math.abs(l - r) > 1) {
            return -1;
        }
        return Math.max(l, r) + 1;
    }

}

全部评论

相关推荐

头像 会员标识
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务