跟上一题一样,但是这题把n改成1-9,以及改成求和,整体思路一样
class Solution {
private:
vector<vector<int>>result;
vector<int>path;
void backtracking(int targetsum,int k,int sum,int startIndex)
{
if(path.size()==k)
{
if(sum==targetsum)result.push_back(path);
return;
}
for(int i=startIndex;i<=9;i++)
{
sum+=i;
path.push_back(i);
backtracking(targetsum,k,sum,i+1);
sum-=i;
path.pop_back();
}
}
public:
vector<vector<int>> combinationSum3(int k, int n) {
result.clear();
path.clear();
backtracking(n,k,0,1);
return result;
}
};