[AcWing]72. 平衡二叉树
[AcWing]72. 平衡二叉树
输入一棵二叉树的根结点,判断该树是不是平衡二叉树。
如果某二叉树中任意结点的左右子树的深度相差不超过 1
,那么它就是一棵平衡二叉树。
注意:
- 规定空树也是一棵平衡二叉树。
数据范围
树中节点数量 [0,500]
。
样例
1 |
|
算法思路
在统计二叉树的深度的代码基础上,实时判断当前节点的左右子树的深度差是否大于1,如果是则不是平衡二叉树
代码实现
1 |
|
注意事项
1 |
|
在判断二叉树是否平衡的过程中,如果在递归过程中遇到某个节点的左子树和右子树的高度差大于1,直接返回false确实可以立即表示该树不是平衡的。
但是,你isBalanced
函数返回的是 res
啊。你return false
只是中断了函数,并没有真的res = false, return res
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Phbeats-Blog!
评论