vector<vector<int> > pathSum(TreeNode* root, int sum) {
vector<vector<int> > result,left,right;
if(!root)
return result;
if(!root->left&&!root->right&&sum==root->val)
return {{root->val}};
if(root->left)
{
left=pathSum(root->left,sum-root->val);
for(auto i : left)
{
i.insert(i.begin(), root->val);
result.push_back(i);
}
}
if(root->right)
{
right=pathSum(root->right,sum-root->val);
for(auto i : right)
{
i.insert(i.begin(), root->val);
result.push_back(i);
}
}
return result;
}
京公网安备 11010502036488号