class Solution {
public:
int n;
vector<int> p;
vector<vector<int>> res;
void path(TreeNode* root,int expectNumber){
if(!root){
return;
}
n+=root->val;
p.push_back(root->val);
if(root->left){
path(root->left,expectNumber);
}
if(root->right){
path(root->right,expectNumber);
}
if(n==expectNumber && !root->left && !root->right){
res.push_back(p);
}
n-=root->val;
p.pop_back();
return;
}
vector<vector<int>> FindPath(TreeNode* root,int expectNumber) {
path(root,expectNumber);
return res;
}
};

京公网安备 11010502036488号