[LeetCode OJ]- Balanced Binary Tree

题目要求:判断一颗二叉树是否为高度平衡的二叉树。

平衡二叉树:左右子树的高度差值不超过1

思路:这道题一看到的时候,就想到了二叉排序树的判断方法,二叉排序树是在每次递归时,比较左右子树的大小与当前子树的“根节点”的大小,平衡二叉树可以借鉴这种递归的思想,判断每次递归时,左子树的高度lheight与右子树的高度rheight的差值,差值小于等于1,判断是平衡树;否则,判断是非平衡树。

特殊情况需要考虑,当前左右子树中有一个是非平衡树时,就不需要再比较了,这里加入左右子树的高度判断。非平衡树的高度用-1表示。

代码如下。


[LeetCode OJ]- Balanced Binary Tree_第1张图片

你可能感兴趣的:([LeetCode OJ]- Balanced Binary Tree)