您的位置:首页 > 编程语言 > Python开发

Python :平衡二叉树

2017-04-16 23:51 141 查看
牛客网上的剑指 offer的在线编程:

题目描述:

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

# -*- coding: utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
def getDepth(self , Root):
if Root == None:
return 0
ldepth = self.getDepth(Root.left)
rdepth = self.getDepth(Root.right)
return max(ldepth, rdepth) + 1

def IsBalanced_Solution(self, pRoot):
if not pRoot:
return True
ldepth = self.getDepth(pRoot.left)
rdepth = self.getDepth(pRoot.right)
diff = ldepth - rdepth
if diff > 1 or diff < -1:
return False
return self.IsBalanced_Solution(pRoot.left) and self.IsBalanced_Solution(pRoot.right)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: