104 二叉樹的最大深度

2021-09-29 22:47:25 字數 1696 閱讀 7274

難度:簡單

題目描述:

思路總結:思路尼瑪,多來點這種題,好有時間做劍指offer。ps:這套模板實際上就是乙個前序遍歷的模板,思路很有限。

題解一:(遞迴)

# definition for a binary tree node.

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

:def

maxdepth

(self, root: treenode)

->

int:

ifnot root:

return

0 res =

0def

helper

(node, level):if

not node.left and

not node.right:

nonlocal res

res =

max(level, res)

if node.left:

helper(node.left, level+1)

if node.right:

helper(node.right, level+1)

helper(root,1)

return res

題解一結果:

題解二:(迭代)

# definition for a binary tree node.

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

:def

maxdepth

(self, root: treenode)

->

int:

ifnot root:

return

0 res =

0 stack =

[(root,1)

]while stack:

cur, level = stack.pop()if

not cur.left and

not cur.right:

res =

max(res, level)

if cur.left:

(cur.left, level+1)

)if cur.right:

(cur.right, level+1)

)return res

題解二結果:

104 二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 思路 使用遞迴,遍歷左子樹右子樹,使用max找出最大的深度。defin...

104 二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 解題思路 採用dfs進行深度搜尋,一行算一次搜尋,輸出結果長度即可。...

104 二叉樹的最大深度

每日leetcode 24 二叉樹的最大深度 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 這道題遞迴到最後葉節點...