給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。
說明: 葉子節點是指沒有子節點的節點。
示例:給定如下二叉樹,以及目標和 sum = 22,
5/ \
4 8
/ / \
11 13 4
/ \ / \
7 2 5 1
返回:[
[5,4,11,2],
[5,8,4,5]
]解法一:dfs遞迴
class solution ;
vector> res;
vectorout;
helper(root,sum,out,res);
return res;
}void helper(treenode* root,int sum,vectorout,vector> &res)
if(root->left) helper(root->left,sum - root->val,out,res);
if(root->right) helper(root->right,sum - root->val,out,res);
}};
效率太低,改進了一下,用了回溯,
class solution ;
vector> res;
vectorout;
helper(root,sum,out,res);
return res;
}void helper(treenode* root,int sum,vector&out,vector> &res)
if(root->left) helper(root->left,sum - root->val,out,res);
if(root->right) helper(root->right,sum - root->val,out,res);
out.pop_back();
}};
class solution
cur = ss.back();
if(!cur->left && !cur->right && val == sum)
else
}return res;
}};
LeetCode 路徑總和 II
給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 5 1 返回 5,4,11,2 5,8,4,5 definition for a binary ...
Leetcode 路徑總和 II
leetcode 給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。definition for a binary tree node.class treenode def init self,x self.val x self....
Leetcode之路徑總和II
給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 5 1 返回 5,4,11,2 5,8,4,5 definition for a binary ...