class Solution {
public:
vector<vector<int>> result;
vector<int> cur;
bool isResult(int k,int n){
int sum=0;
for(int i=0;i<cur.size();i++){
sum+=cur[i];
}
if(sum==n&&cur.size()==k){
return true;
}else{
return false;
}
}
void getCur(int k,int n,int startIndex){
if(isResult(k,n)){
result.push_back(cur);
return;
}
for(int i=startIndex;i<=9;i++){
cur.push_back(i);
getCur(k,n,i+1);
cur.pop_back();
}
}
vector<vector<int>> combinationSum3(int k, int n) {
result.clear();
cur.clear();
getCur(k,n,1);
return result;
}
};
和77几乎一样,注意终止条件多一个