string res="";
string get_road
(treenode* root)
void
dfs(treenode* root,
const
int& target,
const string& s)
//盡量用臨時變數儲存,臨時變數要用常引用
}
下列討論純屬個人見解
主要是針對dfs函式最後乙個引數的問題,假設最後乙個變數用全域性變數res:
1.首先明確返回型別,如果是將res返回,也就是返回型別為vector<>,那當最後 root==null 時應該返回什麼呢,返回發當前的res肯定是錯的,因為當路徑是錯的時,返回的res肯定也是錯的,所以返回型別只能是void。
2.如上,如果返回型別是void,那麼只能內部修改res,即最後乙個引數為string& res(不能是const,因為const型別的res不允許修改,上面可以是因為傳遞的是乙個臨時變數,不需要修改s,直接s+c臨時變數就可以作為引數,而當引數型別是string& res時,引數不能是臨時變數res+c).
3.確定第三個引數型別為string& res後,在進行遞迴時就修改了res,在進行回溯時,需要pop_back(),不好修改。
綜上,盡量用臨時變數s儲存路徑(作為固定格式),再把s轉化為想要的結果。
2020.09.28更新
如果所給的樹是二叉搜尋樹(排序樹),那麼大可不必去回溯試探,直接通過二叉搜尋樹的特點(小的在左子樹,大的在右子樹),直到找到節點。下面是leetcode的一道題:劍指 offer 34. 二叉樹中和為某一值的路徑
xml獲取指定節點的路徑
引用自http www.w3school.com.cn xpath xpath syntax.asp xpath 使用路徑表示式來選取 xml 文件中的節點或節點集。節點是通過沿著路徑 path 或者步 steps 來選取的。我們將在下面的例子中使用這個 xml 文件。harry potter 29...
xml獲取指定節點的路徑
引用自 xpath 使用路徑表示式來選取 xml 文件中的節點或節點集。節點是通過沿著路徑 path 或者步 steps 來選取的。我們將在下面的例子中使用這個 xml 文件。harry potter 29.99 learning xml 39.95 xpath 使用路徑表示式在 xml 文件中選取...
資料結構例程 從根節點到每個葉子節點的路徑之逆
本文是資料結構基礎系列 6 樹和二叉樹中第11課時二叉樹遍歷非遞迴演算法和第12課時層次遍歷演算法的例程。問題 設計演算法輸出從根節點到每個葉子節點的路徑之逆。解法1 利用二叉樹後序遍歷非遞迴演算法中,每乙個葉子節點出現時,棧中從棧頂到棧底,正好是葉子節點到根節點的逆序的性質編寫。參考解答 btre...