二叉樹中和爲某一值的路徑
題目分析
先序遍歷+路徑記錄
題解
//每次遞歸了路徑加入以後都要回復現場,否則就亂套了
//也就是說你54117以後知足條件加入路徑了
//而後就會返回上一個節點,此時就須要把列表的最後一個值7刪除,否則在直接加就是547112了就不對了
//得把最後一個pop出去才能往回回溯
注意app
- 值得注意的是,記錄路徑時若直接執行 res.append(path) ,則是將 path 對象加入了 res ;後續 path 改變時, res 中的 path 對象也會隨之改變。
- 正確作法:res.append(list(path)) ,至關於複製了一個 path 並加入到 res 。
- Java就是 new一個新對象 new LinkedList(path)