leetcode: 面試題 04.12. 求和路徑
dfs 題 >> 較簡單
題目大意: 從上到下的遍歷 >> 各節點之和可以等於 sum 的路徑方案數
路徑不一定非得從二叉樹的根節點或葉節點開始或結束,但是其方向必須向下(只能從父節點指向子節點方向)。
樹的層序遍歷列舉各個節點作為根節點 + 遞迴(dfs深度優先搜尋)
這個樣例卡了一下
遞迴的結束條件 >> 算出一種方案後, 不能立即 return ; >> 還要繼續往下執行看看能否再等於 sum
樹的層序遍歷 + 遞迴(dfs)
int ans =0;
public
intpathsum
(treenode root,
int sum)
}return ans;
}public
void
dfs(treenode node,
int target,
int sum)
// 根、左、右
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 1.先對應位求和 位數少的數對應位不存在就用0加 2.加上上一次的進製 3.得到當前位 4.記錄進製 當位數大的數遍歷完 遍歷完較長的鍊錶 且進製也為0...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 definition for singly linked list.stru...
面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 高階 思考一下,假設這些數字是正向存放的,又該如何解決呢?示例 輸入 6 1...