class Solution {
public:
void dfs(vector<vector<int>>& res,int k,int layer,vector<int>& temp,int& n){
if(layer==k){
res.push_back(temp);
return ;
}
for(int i=1;i<=n;i++){
//if(find(temp.begin(),temp.end(),i)==temp.end()){
if(i<=temp.back()) continue;
temp.push_back(i);
dfs(res,k,layer+1,temp,n);
temp.pop_back();
//}
}
}
vector<vector<int>> combine(int n, int k) {
vector<vector<int>> res;
vector<int> temp;
for(int i=1;i<=n;i++){
temp.push_back(i);
dfs(res,k,1,temp,n);
temp.pop_back();
}
return res;
}
};
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e25a0058410dfc8cb257fa5affa2bcb3.jpeg)