leetcode在力扣 App 中打开
调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
简单
相关标签
相关企业
提示

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 。
通过次数
51.2K
提交次数
85.2K
通过率
60.1%


相关企业

提示 1
考虑平衡树的定义。你可以检查单个节点的条件吗?你可以检查每个节点吗?

提示 2
如果你开发了一个蛮力解法,请注意它的运行时间。如果你是用于计算每个节点的子树的高度,那么该算法会很低效。

提示 3
如果你可以修改二叉树节点类,允许节点存储子树的高度,会如何?

提示 4
你不需要修改二叉树类来存储子树的高度。递归函数是否可以计算每个子树的高度,同时检查节点是否平衡?尝试让函数返回多个值。

提示 5
其实,你只需要一个checkHeight函数即可,它既可以计算高度,也可以平衡检查。可以使用整数返回值表示两者。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
root =
[3,9,20,null,null,15,7]
3
9
20
15
7
Source