力扣 简单 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;
        }
    }
}
相关推荐
历程里程碑几秒前
C++ 17异常处理:高效捕获与精准修复
java·c语言·开发语言·jvm·c++
雨雨雨雨雨别下啦2 分钟前
ssm复习总结
java·开发语言
yaoh.wang7 分钟前
力扣(LeetCode) 94: 二叉树的中序遍历 - 解法思路
python·算法·leetcode·面试·职场和发展·二叉树·跳槽
Evand J8 分钟前
【课题推荐】基于视觉(像素坐标)与 IMU 的目标/自身运动估计(Visual-Inertial Odometry, VIO),课题介绍与算法示例
人工智能·算法·计算机视觉
xu_yule9 分钟前
算法基础(背包问题)—分组背包和混合背包
c++·算法·动态规划·分组背包·混合背包
蓝色汪洋16 分钟前
数码串和oj
数据结构·算法
资深web全栈开发18 分钟前
并查集(Union-Find)套路详解
leetcode·golang·并查集·unionfind
努力学算法的蒟蒻20 分钟前
day39(12.20)——leetcode面试经典150
算法·leetcode·面试
速易达网络21 分钟前
基于Java Servlet的用户登录系统设计与实现
java·前端·mvc
散一世繁华,颠半世琉璃26 分钟前
从 0 到 1 优化 Java 系统:方法论 + 工具 + 案例全解析
java·性能优化·操作系统