旧魏は学ぶためにあなたを取るの申し出を受賞---ブラシタイトルシリーズ(39平衡二分木)

39.バランスバイナリツリー

問題:

入力バイナリツリーは、バイナリツリーは、バランスの取れた二分木か否かが判断されます。

ソリューション:

思想:

平衡二分木の高さの差を意味する(空のツリーを含む)サブツリーツリー約1以下です。

Pythonコード:

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
from collections import deque
class Solution:
    def IsBalanced_Solution(self, pRoot):
        # write code here
        if(pRoot==None):
            return True
        if(abs(self.deep(pRoot.left)-self.deep(pRoot.right))>1):
            return False
        return self.IsBalanced_Solution(pRoot.left) and self.IsBalanced_Solution(pRoot.right)

    def deep(self,node):
        if(node==None):
            return 0
        nleft=self.deep(node.left)
        nright=self.deep(node.right)
        return max(nleft+1,nright+1)
            
        
        
公開された160元の記事 ウォン称賛30 ビュー70000 +

おすすめ

転載: blog.csdn.net/yixieling4397/article/details/105028594