剑指 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 }
· 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应用必不可少的技术