Python :平衡二叉树

来源:互联网 发布:学cnc编程多少学费 编辑:程序博客网 时间:2024/06/05 22:37

牛客网上的剑指 offer的在线编程:

题目描述:

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


# -*- coding: utf-8 -*-# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass 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)


0 0
原创粉丝点击