牛客66道程式設計題 平衡二叉樹

2021-09-27 07:14:21 字數 805 閱讀 6495

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

csdn博主詳細解釋:

二叉查詢樹與平衡二叉樹

平衡二叉樹:一顆高度平衡的二叉查詢樹

自頂向下,對於每個節點,都計算一下左子樹以及右子樹的差的絕對值。

利用兩個迭代實現

class

solution

:def

isbalanced_solution

(self, p)

:if p is

none

:#判斷邊界條件,若為空,則返回none

return

true

left = self.depth(p.left)

#判斷子結點的深度

right = self.depth(p.right)

#判斷子結點的深度

return

abs(left - right)

<=

1and self.isbalanced_solution(p.left)

and self.isbalanced_solution(p.right)

defdepth

(self, p)

:#判斷子節點的深度

if p is

none

:return

0return1+

max(self.depth(p.left)

, self.depth(p.right)

)#利用不斷地遞迴去判斷

牛客(39)平衡二叉樹

題目描述 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。public boolean isbalanced solution treenode root 它是一 棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。if math.abs treedepth root...

66道牛客程式設計題 二叉搜尋樹的第k個結點

給定一棵二叉搜尋樹,請找出其中的第k小的結點。例如,5,3,7,2,4,6,8 中,按結點數值大小順序第三小結點的值為4。用中序遍歷,這樣得到的列表是排好序的 class solution 返回對應節點treenode defkthnode self,proot,k write code here ...

C 程式設計題 平衡二叉樹

include include using namespace std typedef struct node node typedef struct tree void insert tree tree,int value else else else else int get height no...