← All notes
LeetCode Cycle 10:樹 BFS / DFS 進階——路徑、深度、LCA、序列化
Cycle 09 把 traversal 列舉完,Cycle 10 把問題從「列出全部」進階到「找特定資訊」。Senior 面試官追問樹題會盯三個地方——LCA 為什麼必須 postorder、最小深度為什麼不能套最大深度的解、序列化選 preorder 還是 BFS 怎麼影響 deserialize 難度。內部使用。
Cycle 09 把 tree basics + advanced 兩塊鋪完,Cycle 10 進到「搜尋」這條線。命題從「列出全部節點」變成「找特定資訊」——這時 traversal 不再是目標,而是工具。
面試官追問的點全在 「為什麼挑這個 traversal」:
- 最大深度可以 preorder 也可以 postorder——能講兩種就拉分
- 最小深度不能照搬最大深度的解——招牌坑
- LCA 為什麼必須 postorder——這條會把 senior 跟 junior 分開
- 序列化選 preorder 還是 BFS 怎麼影響 deserialize 的難度
下面把這幾題拆透。