DFS | Divide and Conquer
class Solution:
def isBalanced(self, root: TreeNode) -> bool:
balance, height = self.helper(root)
return balance
def helper(self, root):
if not root: return (True, 0)
leftB, leftH = self.helper(root.left)
rightB, rightH = self.helper(root.right)
return (leftB and rightB and abs(leftH-rightH) <= 1, max(leftH, rightH)+1)
本文介绍了一种使用深度优先搜索(DFS)和分治策略(divide and conquer)来判断二叉树是否平衡的方法,并计算其高度。通过递归地检查左子树和右子树的平衡状态及高度,确保整个树的平衡性。


被折叠的 条评论
为什么被折叠?



