声明:
今天是第24道题。给定一个二叉树,判断它是否是高度平衡的二叉树。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ´・ᴗ・` ))
正文
题目:给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过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
解法1。一定要理清题意,对每一个节点下的子树高度差都不能大于1,不仅仅是父节点要满足此,所有后面跟了子节点的都要验证,所以在isBalanced里如果当前子树满足则返回True,继续递归,直到所有都满足就返回True。