113 路徑總和 II

2022-02-18 08:43:43 字數 737 閱讀 9364

思路:明顯可以使用回溯法,和112題很像,先把當前根節點擊中,加入temp,之後使用sum1減去根節點數值,然後到了葉子結點,判斷sum1是否為零,來判斷當前路徑是不是符合要求。

遇到符合要求的葉子結點,把當前的路徑加入res裡面。

假如當前根節點不是葉子結點,遞迴呼叫函式處理左右子樹

對左右子樹的處理,已經成功的把當前root節點下的所有符合要求的路徑記錄了,之後要回溯,去除此root節點(temp.remove(temp.size()-1);)

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

if(root.left!=null) pathsum(root.left,sum1);//左子樹不為空,對左子樹呼叫函式,找左子樹下符合要求的路徑

if(root.right!=null) pathsum(root.right,sum1);//右子樹不為空,對右子樹呼叫函式,找右子樹下符合要求的路徑

temp.remove(temp.size()-1);//對左右子樹的處理,已經成功的把當前root節點下的所有符合要求的路徑記錄了,之後要回溯,去除此root節點

return res;}}

113 路徑總和 II

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,4 8 11 13 4 7 2 5 1 返回 5,4,11,2 5,8,4,5 definition for a binary tr...

113 路徑總和 II

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,definition for a binary tree node.class treenode object def init s...

113 路徑總和 II

113.路徑總和 ii 給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。vector pathsum treenode root,int sum void dfs treenode root,int sum,vector ans,vector one ans on...