39.平衡二叉树

tech2023-02-07  111

文章目录

1.题目2.思路3.代码

1.题目

输入一个二叉树,判断是否是平衡二叉树。

平衡二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。

2.思路

利用38题中判断二叉树最大深度的函数,左子树和右子树的深度差小于等于1即为平衡二叉树。

3.代码

class Solution(object): def isBalanced(self, root): if root == None: return True elif abs(self.height(root.left)-self.height(root.right))>1: return False else: return self.isBalanced(root.left) and self.isBalanced(root.right) # 38题代码,39题相同递归原理 def height(self,root): if root == None: return 0 else: return max(self.height(root.left),self.height(root.right))+ 1
最新回复(0)