【題目描述】
輸入一顆二叉樹的根節點和乙個整數,按字典序列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。
【解題】
/*
struct treenode
};*/
class
solution
if(root-
>left)
dfs(root-
>left, sum - root-
>val, path, ret);if
(root-
>right)
dfs(root-
>right, sum - root-
>val, path, ret)
;
path.
pop_back()
;// **走到這裡,表明要回溯,代表當前path中的root節點我已經不需要了
} vectorint>
>
findpath
(treenode* root,
int expectnumber)
};
//注意:
1.path.push_back(root->val);是因為ret.push_back(path);ret只能接受vector型別的push_cack,root->val就push不進去
2.path是區域性變數,push_back和pop_back要注意使用!!!
3.另要注意 佇列、棧都是push,vector是push_back
JZ24 二叉樹中和為某一值的路徑
輸入一顆二叉樹的根節點和乙個整數,按字典序列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。輸入 22 返回值 10,5,7 10,12 從根結點開始向下遍歷,每經過乙個結點就把 target 的值減去該結點的 val,並把該結點的 v...
JZ24 劍指offer 二叉樹中和為某一值的路徑
題目描述 輸入一顆二叉樹的根節點和乙個整數,按字典序列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。struct treenode class solution auto re1 findpath root left,expectnu...
24 二叉樹中和為某一值的路徑
題目描述 輸入一顆二叉樹和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。時間限制 1秒 空間限制 32768k 思路 dfs深度優先搜尋 struct treenode class solution 需要彈出是因為要回退到...