力扣 简单 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;
        }
    }
}
相关推荐
初听于你12 小时前
Java 泛型详解
java·开发语言·windows·java-ee
rainbow688912 小时前
Java17新特性深度解析
java·开发语言·python
hansang_IR12 小时前
【记录】AT_abc400模拟赛
c++·算法·模拟赛
爬山算法12 小时前
Hibernate(79)如何在ETL流程中使用Hibernate?
java·hibernate·etl
iAkuya12 小时前
(leetcode)力扣100 59括号生成(回溯||按括号序列的长度递归)
算法·leetcode·职场和发展
共享家952712 小时前
双指针算法(一)
数据结构·算法·leetcode
十八岁讨厌编程12 小时前
【算法训练营 · 二刷总结篇】回溯算法、动态规划部分
算法·动态规划
rainbow688912 小时前
Java实战:5230台物联网设备时序数据处理方案
java
爬山算法12 小时前
Hibernate(80) 如何在数据迁移中使用Hibernate?
java·oracle·hibernate
近津薪荼12 小时前
优选算法——滑动窗口2(数组模拟哈希表)
c++·学习·算法