劍指offer全集詳解python版——平衡二叉樹

題目描述:
輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

思路:

利用後序求深度,可以避免重複求深度。

代碼

# -*- 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
        self.flag   = True
        self.dep(pRoot)
        return self.flag
    def dep(self,root):
        if not root:
            return 0
        ld = self.dep(root.left)
        rd = self.dep(root.right)
        if abs(ld-rd)>1:
                self.flag = False
        return ld+1 if ld>rd else rd+1
            
發佈了71 篇原創文章 · 獲贊 18 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章