- LeetCode 題目
- 104. 二叉樹的最大深度(gif 圖解)
- 方法一:后序遍歷(DFS)
- 方法二:層序遍歷(BFS)
- 872. 葉子相似的樹(DFS 遍歷)
- 1448. 統計二叉樹中好節點的數目(DFS 遍歷)
- 437. 路徑總和 III(前綴和 + DFS 回溯)
- 1372. 二叉樹中的最長交錯路徑(DFS)
- 236. 二叉樹的最近公共祖先(DFS)(gif 圖解)
- 199. 二叉樹的右視圖(BFS)
- 1161. 最大層內元素和(BFS)
- 700. 二叉搜索樹中的搜索(DFS)
- 450. 刪除二叉搜索樹中的節點(DFS)
LeetCode 題目
樹的遍歷 方式總體分為兩類:深度優先搜索(DFS)、廣度優先搜索(BFS)。
- 常見 DFS :先序遍歷、中序遍歷、后序遍歷。
- 常見 BFS :層序遍歷(即按層遍歷)。
104. 二叉樹的最大深度(gif 圖解)
給定一個二叉樹 root
,返回其最大深度。
二叉樹的 最大深度 是指從根節點到最遠葉子節點的最長路徑上的節點數。
方法一:后序遍歷(DFS)
思路:
- 遞歸定義:
二叉樹的最大深度 = max(左子樹的最大深度, 右子樹的最大深度) + 1 (即當前節點本身)
- 遞歸基