Path Sum II
class Solution {
public:
vector<vector<int>> pathSum(TreeNode* root, int sum) {
vector<vector<int>> ret;
vector<int> cur;
helper(root,sum,cur,ret);
return ret;
}
void helper(TreeNode *root, int sum, vector<int> &cur, vector<vector<int>> &ret){
if(!root) return;
cur.push_back(root->val);
if(sum==root->val&&!root->left&&!root->right){
ret.push_back(cur);
//return; //在cur 弹出前不能返回。
}
helper(root->left,sum-root->val,cur,ret);
helper(root->right,sum-root->val,cur,ret);
cur.pop_back();
}
};
Last updated
Was this helpful?