解法:回溯算法
class Solution {
void backtrack(vector<vector<int>>& res,vector<int>& track,int n,int k,int start){
if(track.size()==k){
res.push_back(track);
return ;
}
for(int i=start;i<=n;i++){
track.push_back(i);
backtrack(res,track,n,k,i+1);
track.pop_back();
}
}
public:
vector<vector<int>> combine(int n, int k) {
vector<vector<int>> res;
vector<int> track;
backtrack(res,track,n,k,1);
return res;
}
};