深度搜索
class Solution {
public:
vector<vector<int>>out;
vector<int>temp;
void dfs(TreeNode* root,int target){
if(!root)return;
temp.push_back(root->val);
target=target-root->val;
if(!root->left&&!root->right&&!target)out.push_back(temp);
dfs(root->left,target);
dfs(root->right,target);
temp.pop_back();
// out.push_back(temp);
}
vector<vector<int>> pathSum(TreeNode* root, int target) {
if(root)dfs(root,target);
return out;
}
};