輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
思路:用層次遍歷,每次遍歷到每層的最後乙個節點,高度增加1
1class
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
遞迴版
1class
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...