112. 路徑總和
EasyPath Sum
TreeDepth-First SearchBinary TreeRecursion
題目描述
給定一棵二元樹的根節點和整數 targetSum,判斷是否存在從根到葉節點的路徑,使得路徑上所有節點值之和等於 targetSum。葉節點為無左右子節點的節點。
LeetCode 112原題連結 →解法思路
- 使用 DFS 遞迴,每層將 target 扣掉當前節點值傳給子節點
- 空節點(None)回傳 False
- 到達葉節點時判斷 target == node.val,符合則回傳 True
- 非葉節點回傳 dfs(left, target-val) or dfs(right, target-val)
複雜度分析
- 時間複雜度:O(n)
- 空間複雜度:O(h),h 為樹的高度
演算法準備開始。目標:找是否存在根到葉的路徑,路徑節點值之和 = 22。DFS 遞迴時每層扣掉當前節點值,到葉節點時判斷剩餘值是否等於節點值。
1 / 19