力扣 简单 110.平衡二叉树

文章目录

题目介绍


解法

平衡二叉树:任意节点的左子树和右子树的高度之差的绝对值不超过 1

java 复制代码
//利用递归方法自顶向下判断以每个节点为根节点的左右子树的最大深度是否大于1
class Solution {
    public boolean isBalanced(TreeNode root) {
        if(root == null){
            return true;
        }else {
            return Math.abs(height(root.left) - height(root.right)) <= 1 && isBalanced(root.left) && isBalanced(root.right);
        }
    }

    //以节点为根节点的树的最大深度
    public int height(TreeNode root) {
        if (root == null) {
            return 0;
        } else {
            return Math.max(height(root.left), height(root.right)) + 1;
        }
    }
}
相关推荐
云草桑6 小时前
C#.net 分布式ID之雪花ID,时钟回拨是什么?怎么解决?
分布式·算法·c#·.net·雪花id
风筝在晴天搁浅6 小时前
hot100 104.二叉树的最大深度
java·算法
潇冉沐晴6 小时前
div3 970个人笔记
c++·笔记·算法
晔子yy6 小时前
说一下Java的垃圾回收机制
java·开发语言
历程里程碑6 小时前
双指针1:移动零
大数据·数据结构·算法·leetcode·elasticsearch·搜索引擎·散列表
亲爱的非洲野猪6 小时前
动态规划进阶:博弈DP深度解析
算法·动态规划
tqs_123456 小时前
@transactional事务失效场景
java·数据库·mybatis
cyforkk6 小时前
01、Java基础入门:JDK、JRE、JVM关系详解及开发流程
java·开发语言·jvm
黎雁·泠崖6 小时前
Java static避坑:静态与非静态访问规则全解析
java·开发语言
Dovis(誓平步青云)6 小时前
《优化算法效率的利器:双指针的原理、变种与边界处理》
linux·运维·算法·功能详解