题目
题解
和全排列一样注意循环是从start =1 开始
代码
List<List<Integer>> ans = new ArrayList<>();
public List<List<Integer>> combine(int n, int k) {
dfs(new ArrayList<>(), 1, n, k);
return ans;
}
private void dfs(ArrayList<Integer> temp, int start, int n, int k) {
if (k == temp.size()) {
ans.add(new ArrayList<>(temp));
return;
}
for (int i = start; i <= n; i++) {
temp.add(i);
dfs(temp, i + 1, n, k);
temp.remove(temp.size() - 1);
}
}
备注
本文正在参与「掘金 2021 春招闯关活动」, 点击查看。