组合问题
题目链接
class Solution {
private:vector<vector<int>> ans;//保存结果vector<int> path;//保存符合条件的结果void dfs(int n,int k,int startindex){if(path.size() == k){ans.push_back(path);//表明找到了符合条件的结果,将其保存到ans中return;}for(int i = startindex;i<=n;i++){//横向遍历集合中的节点path.push_back(i);//将当前节点添加到符合条件的结果中dfs(n,k,i+1);path.pop_back();//回溯} }
public:vector<vector<int>> combine(int n, int k) {dfs(n,k,1);return ans;}
};