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?