题目链接:https://leetcode.cn/problems/subsets/solutions/420294/zi-ji-by-leetcode-solution/
思路与算法
我们也可以用递归来实现子集枚举。
假设我们需要找到一个长度为 n的序列 a的所有子序列,代码框架是这样的:
vector<int> t;
void dfs(int cur, int n) {
if (cur == n) {
// 记录答案
// ...
return;
}
// 考虑选择当前位置
t.push_back(cur);
dfs(cur + 1, n, k);
t.pop_back();
// 考虑不选择当前位置
dfs(cur + 1, n, k);
}