思路:dfs
注意:路径要使用临时变量,不能使用引用,因为可能会在其他路径对其的修改没有撤销
class Solution {
public:
vector<vector<int>> res;
void getRes(TreeNode* root,int target,vector<int> combine){
if(root==NULL) return;
combine.push_back(root->val);
if(root->left==NULL&&root->right==NULL&&target==root->val){
cout<<"hello";
res.push_back(combine);
return ;
}
getRes(root->left,target-root->val,combine);
getRes(root->right,target-root->val,combine);
combine.pop_back();
}
vector<vector<int>> pathSum(TreeNode* root, int target) {
getRes(root,target,{}});
return res;
}
};