今天来写回溯类型的题目
class Solution {
public:
vector<int> vec;
vector<vector<int>> out;
void traversal(int n, int k, int index){
if(vec.size() == k){ //当里面的数组达到了规定的数量k个
out.push_back(vec);//放到大数组里面
return;
}
for(int i = index; i <= n; i++){//从1开始到n
vec.push_back(i);//放入小数组中
traversal(n, k, i+1);//递归
vec.pop_back();//清空小数组
}
}
vector<vector<int>> combine(int n, int k) {
traversal(n, k, 1);
return out;
}
};