Python實現 二叉樹的最大深度 的兩種方法

2021-08-27 03:19:06 字數 924 閱讀 1654

給定一棵二叉樹,返回它的最大深度

最大深度是指樹中最長路徑所擁有的結點數量

注意:葉子節點沒有子節點

例如:給定二叉樹[3,9,20,null,null,15,7]

3

/ \9 20

/ \

15 7

它的返回值為3

def maxdepth(self, root):

""":type root: treenode

:rtype: int

"""if not root:

return 0

curlevelnodelist = [root]

length = 0

while curlevelnodelist:

tempnodelist =

for node in curlevelnodelist:

if node.left is not none:

if node.right is not none:

curlevelnodelist = tempnodelist

length += 1

return length

def maxdepth(self, root):

""":type root: treenode

:rtype: int

"""if not root:

return 0

left = self.maxdepth(root.left)+1

right = self.maxdepth(root.right)+1

return max(left, right)

演算法題來自:

二叉樹最大路徑和 python 二叉樹最大路徑和

1.題目描述 輸入乙個二叉樹層次遍歷的結果,輸出這個二叉樹最大路徑和。路徑不一定從根節點開始和葉子節點結束。只要是連續的路徑就可以。如輸入 10,9,20,null,null,15,7 109 20 15 7 輸出 42 2.首先將乙個陣列還原成乙個二叉樹。然後根絕二叉樹的根節點返回最大路徑和。cl...

python實現二叉樹

初學python,需要實現乙個決策樹,首先實踐一下利用python實現乙個二叉樹資料結構。建樹的時候做了處理,保證建立的二叉樹是平衡二叉樹。coding utf 8 from collections import deque class node def init self,val,left non...

二叉樹的深度 二叉樹的深度 二叉樹最大寬度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 返回它的最大深度 3 根節點加上左右子樹的最大深度就是樹的最大深度。如下 class solution ...