38 二叉樹的深度 python

2022-06-13 17:12:14 字數 1007 閱讀 1102

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

思路:用層次遍歷,每次遍歷到每層的最後乙個節點,高度增加1

1

class

solution:

2def

treedepth(self, proot):3#

write code here

4if proot==none:

5return

06 queue =[proot]

7 last=0

8 h =0

9 index=0

10while index11 tmproot=queue[index]

12if tmproot.left!=none:

1314

if tmproot.right!=none:

1516

if index==last:

17 h+=1

18 last=len(queue)-1

19 index+=1

20return h

2019-12-25 16:23:21

遞迴版

1

class

solution:

2def

treedepth(self, proot):3#

write code here

4if proot==none:

5return

06 left =self.treedepth(proot.left)

7 right =self.treedepth(proot.right)

8return max(left+1,right+1)

2019-12-25 16:46:14

38 二叉樹的深度

題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。解法1 遞迴版,首先,給出遞迴結束的條件,當樹為空時,深度為零,接下來,就是一層一層的遞迴了,比較左右子數的深度,其中值較大的作為當前子節點所在層的深度,則父節點的深度為...

38 二叉樹的深度

2.利用層序遍歷 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。classname solution description todo date 2019 12 22 12 36 author sonnsei public c...

38 二叉樹的深度

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。示例 給定二叉樹 3,9,20,null,null,15,7 遞迴的方法,比較左邊路徑和右邊路徑哪邊最長,選擇最長的一邊路徑,加上root結點本身的長度。class solutio...