剑指 Offer 55 - II. 平衡二叉树

题目:

输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。

 

示例 1:

给定二叉树 [3,9,20,null,null,15,7]

    3
   / \
  9  20
    /  \
   15   7

返回 true 。

示例 2:

给定二叉树 [1,2,2,3,3,null,null,4,4]

       1
      / \
     2   2
    / \
   3   3
  / \
 4   4

返回 false 。

 

限制:

  • 0 <= 树的结点个数 <= 10000

代码:

复制代码
 1 //和第55题相似,只不过在求得左右子树高度时,判断高度差是否超过1.
 2 /**
 3  * Definition for a binary tree node.
 4  * public class TreeNode {
 5  *     int val;
 6  *     TreeNode left;
 7  *     TreeNode right;
 8  *     TreeNode(int x) { val = x; }
 9  * }
10  */
11 class Solution {
12     static boolean bool=true;
13     public boolean isBalanced(TreeNode root) {
14         bool=true;
15         maxDepth(root);
16         return bool;
17     }
18 
19     public static int maxDepth(TreeNode root) {
20 
21     if(root==null){
22         return 0;
23     }
24     int left=maxDepth(root.left);
25     int right=maxDepth(root.right);
26     if(Math.abs(left-right)>1){bool=false;} //与55题差异之处
27     return Math.max(left,right)+1;
28     }
29 }
复制代码

 

 

posted @   堤苏白  阅读(34)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示