题目链接:https://leetcode-cn.com/problems/combinations/
题目如下:
class Solution {
public:
vector<vector<int>> combine(int n, int k) {
result.clear();//可写可不写
path.clear();//可写可不写
backtracking(n,k,1);
return result;
}
void backtracking(int n,int k,int startIndex){
if(path.size()==k){
result.push_back(path);
return ;
}
for(int i=startIndex;i<=n;i++){
path.push_back(i);//处理节点
backtracking(n,k,i+1);//递归
path.pop_back();//回溯,撤销处理的节点
}
}
private:
vector<vector<int>> result;//存放符合条件结果的集合
vector<int> path;//存放符合条件的结果
};