查詢二叉樹的最大深度

2021-10-12 02:58:05 字數 949 閱讀 3990

leetcode104,

根據官方的方法有遞迴法和廣度優先遍歷;

遞迴法,如圖所示,

廣度優先遍歷,設計數器每次讀取一層(類似於二叉樹的層次遍歷)

#遞迴法

class

solution

:def

maxdepth

(self, root)

:if root is

none

:return

0else

: left_height = self.maxdepth(root.left)

right_height = self.maxdepth(root.right)

return

max(left_height, right_height)+1

#廣度優先

class

solution

:def

maxdepth

(self, root)

:if root is

none

:return

0 queue =

[root]

ans=

0while queue:

size =

len(queue)

while size>0:

node = queue.pop(0)

if node.left is

notnone

:if node.right is

notnone

: size-=

1 ans+=

1return ans

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

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

二叉樹的最大深度

1.問題描述 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。樣例給出一棵如下的二叉樹 1 2 3 4 5這個二叉樹的最大深度為3.2.解題思路 如果二叉樹為空,則深度為0 如果不為空,運用遞迴,分別求其左子樹和右子樹的深度,取最大的再加1,因為根節點深度是1,要加進去。3...

二叉樹的最大深度

問題描述 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的距離。樣例 給出一棵如下的二叉樹 1 2 3 4 5這個二叉樹的最大深度為3.實現思路 要求二叉樹的最大深度,首先判斷二叉樹是否為空,若為空,則深度為0。如果不為空,分別求左子樹的深度和右子樹的深度,取最大的那乙個加1,即...