判断是否为平衡二叉树

Posted shuangcao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断是否为平衡二叉树相关的知识,希望对你有一定的参考价值。

题目描述

输入一棵二叉树,判断该二叉树是否是平衡二叉树。
 
在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树
解法1:逐个判断每个节点
 1 # -*- coding:utf-8 -*-
 2 # class TreeNode:
 3 #     def __init__(self, x):
 4 #         self.val = x
 5 #         self.left = None
 6 #         self.right = None
 7 class Solution:
 8     def IsBalanced_Solution(self, pRoot):
 9         # write code here
10         if  not pRoot:
11             return True        
12         if abs(self.tree(pRoot.left) -self.tree(pRoot.right))>1:
13             return False
14         return self.IsBalanced_Solution(pRoot.left) and self.IsBalanced_Solution(pRoot.right)
15   
16     def tree(self,pRoot):
17         # 求深度
18         if not pRoot:
19             return 0
20         if not pRoot.left and not pRoot.right:
21             return 1
22         return max(self.tree(pRoot.left),self.tree(pRoot.right))+1
23        
24         

 

 

 

以上是关于判断是否为平衡二叉树的主要内容,如果未能解决你的问题,请参考以下文章

判断二叉树是否为平衡二叉树

Day54: 判断是否为平衡二叉树

判断是否为平衡二叉树

python判断二叉树是否为平衡二叉树

判断是否为平衡二叉树

判断一棵树是否为平衡二叉树