牛客网链接
# -*- 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