面試題55 I 二叉樹的深度

2021-10-11 14:36:58 字數 583 閱讀 1826

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

方法:遞迴左右子樹

遞迴遍歷,取左右子樹的最大深度,加當前根結點的 1 個深度,就是結果

class

solution

intdfs

(treenode root)

int left =

dfs(root.left)

;int right =

dfs(root.right)

;return left > right ? left +

1: right +1;

}}

大佬還有更簡潔的寫法,實在佩服

class

solution

return math.

max(

maxdepth

(root.left)

,maxdepth

(root.right))+

1;}}

面試題55 I 二叉樹的深度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 節點總數 10000 解題思路 1.如果根節點為空,則返回...

劍指刷題 面試題55 I 二叉樹的深度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。解法 方法一 遞迴法 當 root 為空,說明已越過葉節點,因此返回 深度 00 ifnot root return 0return max self.maxdept...

面試題55 二叉樹的深度

輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如下圖中的二叉樹的深度為4,因為它從根結點到葉結點最長的路徑包含4個結點 從根結點1開始,經過結點2和結點5,最終到達葉結點7 思路 如果一棵樹只有乙個結點,它的深度為1...