剑指offer -----平衡二叉树的判断

平衡二叉树(BST)的定义是二叉树的左子树和右子树的高度差小于等于1,因此我们可以先计算出一棵树的左右子树的高度,然后根据BST的定义判断是否是BST。代码如下:

class Solution:
    def treeHeight(self,tree):#计算树的高度
        if tree==None:
            return 0
        return max(self.treeHeight(tree.left),self.treeHeight(tree.right))+1 

#树的高度为左右子树中最高的子树的高度加1

    def IsBalanced_Solution(self, pRoot):
        # write code here
        if pRoot == None:
            return True
        return abs(self.treeHeight(pRoot.left) - self.treeHeight(pRoot.right))<=1

 

    原文作者:平衡二叉树
    原文地址: https://blog.csdn.net/xiaohuigou1786/article/details/82497768
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞