剑指offer面试题【55.2】----平衡二叉树

题目描述

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

代码实现

# -*- 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
        if not pRoot:
            return True
        if abs(self.TreeDepth(pRoot.left)-self.TreeDepth(pRoot.right))>1:
            return False
        return self.IsBalanced_Solution(pRoot.left) and self.IsBalanced_Solution(pRoot.right)
    def TreeDepth(self,pRoot):
        if not pRoot:
            return 0
        return max(1+self.TreeDepth(pRoot.left),1+self.TreeDepth(pRoot.right))

 

你可能感兴趣的:(python基础,剑指offer)