牛客网链接
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def IsBalanced_Solution(self, pRoot):
# write code here
#问题转化为求二叉树的高度,并确定左右子树高度的绝对值之差<=1是否成立
if pRoot==None : return True
left=self.TreeDepth(pRoot.left)
right=self.TreeDepth(pRoot.right)
return abs(left-right)<=1
def TreeDepth(self,pRoot):
if pRoot==None : return 0
left=self.TreeDepth(pRoot.left)+1
right=self.TreeDepth(pRoot.right)+1
return left if left>right else right

本文提供了一种判断二叉树是否平衡的方法。通过递归计算二叉树的左右子树深度,比较两者深度差是否小于等于1来实现。文中包含完整的Python代码实现。
403

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



