Easy 104 - Maximum Depth of Binary Tree
In this blog I will share a solution to the Maximum Depth of Binary Tree problem.
題目連結
難度:Easy
給定一個二元樹的根節點 root,返回其最大深度。
二元樹的最大深度是指從根節點到最遠葉節點的最長路徑上的節點數。
example:
example:
限制
- 樹中節點的數量在範圍 0, 10^4 內
- -100 <= Node.val <= 100
Tree
Depth-First Search
Breadth-First Search
Binary Tree
解題思路
思考過程
- 初步分析
- 需要找出從根節點到最遠葉節點的路徑長度
- 可以使用遞迴或迭代方式
- 需要比較左右子樹的深度
- 解題技巧
- 每個節點的深度是其子樹深度的最大值加 1
- 空節點的深度為 0
- 實作重點
- 處理空樹的情況
- 遞迴計算左右子樹深度
- 返回較大深度加 1
解題步驟
程式碼實現
複雜度分析
面向 | 複雜度 | 說明 |
---|---|---|
時間複雜度 | O(N) | 需要遍歷每個節點一次 |
空間複雜度 | O(H) | H 是樹的高度,遞迴調用棧的空間 |