先序遍歷(dfs)
此題難點感覺在於字串的操作
通過先序遍歷獲得每一條路徑,對於每一條路徑使用vector進行儲存;如果它為葉子結點,則將路徑中的值轉換為乙個串並連線起來,再壓入到res(儲存結果)中
class
solution
void
findpath
(treenode* root, vector
& res, vector
& vs)
res.
push_back
(s);
//壓入到結果中}if
(root-
>left !=
nullptr
)findpath
(root-
>left, res, vs);if
(root-
>right !=
nullptr
)findpath
(root-
>right, res, vs)
;//在返回到父節點前,先在路徑中刪除當前結點
vs.pop_back()
;}};
LeetCode257 二叉樹的所有路徑
好多天沒寫演算法了,好多天也不更了。今天開始繼續啊,加油!先來乙個簡單的二叉樹練練手哈 給定乙個二叉樹,返回從根節點到葉節點的所有路徑。例如,給定以下二叉樹 1 2 3 5所有根到葉路徑是 1 2 5 1 3 二叉樹先序遍歷一下,遞迴把節點值挨個加入就好了 definition for a bina...
leetcode 257 二叉樹的所有路徑
給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 輸入 1 2 3 5 輸出 1 2 5 1 3 解釋 所有根節點到葉子節點的路徑為 1 2 5,1 3 definition for a binary tree node.struct treenode cl...
Leetcode 257 二叉樹的所有路徑
給定乙個二叉樹,返回所有從根節點到葉子節點的路徑。說明 葉子節點是指沒有子節點的節點。示例 輸入 1 2 3 5 輸出 1 2 5 1 3 解釋 所有根節點到葉子節點的路徑為 1 2 5,1 3首先要寫一下我自己的錯誤的思路 利用回溯,到了葉子結點後將當前遍歷到的一位陣列加入到要返回的二維陣列中,當...