24 劍指offer 二叉樹中和為某一值的路徑

2021-10-03 11:41:10 字數 709 閱讀 8563

輸入一顆二叉樹的根節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,陣列長度大的陣列靠前)

//遞迴  回溯

class solution

path.pop_back(); //刪除path的最後乙個元素,它表示當前葉節點和根節點形成的路徑不滿足條件,刪除葉節點,返回它的父節點

}vector> findpath(treenode* root,int expectnumber)

};

public class solution 

findpath(root, target);

return res;

}public void findpath(treenode root, int target)

//如果左子樹非空,遞迴左子樹

if (root.left != null)

//如果右子樹非空,遞迴右子樹

if (root.right != null)

//無論當前路徑是否加出了target,必須去掉最後乙個,然後返回父節點,去查詢另一條路徑,最終的path肯定為null

path.remove(path.size() - 1);

return;

}}

劍指offer系列(24)二叉樹中和為某一值的路徑

題目描述 輸入一顆二叉樹和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。思路分析 先序遍歷,訪問節點時,把該節點新增到路徑上去,並累加該節點的值 如果該節點為葉節點,並且路徑中節點值的和剛好等於輸入的整數,則符合當前路徑要...

JZ24 劍指offer 二叉樹中和為某一值的路徑

題目描述 輸入一顆二叉樹的根節點和乙個整數,按字典序列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。struct treenode class solution auto re1 findpath root left,expectnu...

24 劍指offer 二叉樹中和為某一值的路徑

題目描述 輸入一顆二叉樹和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。解題思路 本題採用先序遍歷,遍歷到葉子節點,如果和不等於其值,則返回至上一層的根結點,本題使用棧結構來儲存路徑,這樣可以方便返回上一父結點的時候,將當...