LeetCode 110. 平衡二叉树(Balanced Binary Tree) 15
2024-08-26 22:21:59
110. 平衡二叉树
110. Balanced Binary Tree
题目描述
给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。
每日一算法2019/5/18Day 15LeetCode110. Balanced Binary Tree
示例 1:
给定二叉树 [3,9,20,null,null,15,7]
```
3
/ \
9 20
/ \
15 7
```
返回 true。
```
3
/ \
9 20
/ \
15 7
```
返回 true。
示例 2:
给定二叉树 [1,2,2,3,3,null,null,4,4]
```
1
/ \
2 2
/ \
3 3
/ \
4 4
```
返回 false。
```
1
/ \
2 2
/ \
3 3
/ \
4 4
```
返回 false。
Java 实现
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public class Solotion {
public boolean isBalanced(TreeNode root) {
if (root == null) {
return true;
}
return Math.abs(depth(root.left) - depth(root.right)) <= 1 && isBalanced(root.left) && isBalanced(root.right);
}
public int depth(TreeNode root) {
if (root == null) {
return 0;
}
return Math.max(depth(root.left), depth(root.right)) + 1;
}
}
相似题目
参考资料
- https://leetcode.com/problems/balanced-binary-tree/
- https://leetcode-cn.com/problems/balanced-binary-tree/
最新文章
- nginx日志分割脚本
- iOS 上架被拒原因保存
- TCP, Scoket, HTTP
- 内核编译选配(VMware篇)
- 【杂记】SQL篇
- Java NIO流 -- 缓冲区(Buffer,ByteBuffer)
- Java immutable class
- keystone系列二:keystone源码分析
- ios新特性
- CentOS 5.4下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)
- javascript 如何获取return回来的对象值
- VC++6.0版本号程序转成VS2010版
- javascript 的bind/apply/call性能
- LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新
- QT信号和槽
- 移动GIS未来的前景GIS解决方案应用
- 为什么vertical-align不起作用
- IDirectDraw接口
- Entity Framework Core(EF Core) 最简单的入门示例
- iOS 轻击、触摸和手势的检测
热门文章
- 《挑战30天C++入门极限》C++中类的多态与虚函数的使用
- Spark设置自定义的InputFormat读取HDFS文件
- linux系统下常用的打包/解压缩包命令
- 2019 ASP.NET / ASP.NET Core 学习路线 (有中文翻译)
- div双击全屏,再双击恢复到原来的状态vue,js来做
- 小福bbs-冲刺日志(第七天)
- Windows平台上运行Tomcat
- Oracle审计表AUD$处理方法
- 借助中间件优化代码 将请求RequestId在服务端接收到请求在处理业务逻辑之前生成
- Java基础 if if-else if-else if-else 三种示例