77. 组合
class Solution {public List<List<Integer>> combine(int n, int k) {List<List<Integer>> ans = new ArrayList<>();ArrayList<Integer> path = new ArrayList<>();if (k < 0 || n < k)return ans;dfs(n, k, 1, path, ans);return ans;}private void dfs(int n, int k, int start, ArrayList<Integer> path, List<List<Integer>> ans) {if (path.size() == k) {ans.add(new ArrayList<>(path));return;}for (int i = start; i <= n; i++) {path.add(i);dfs(n, k, i + 1, path, ans);path.remove(path.size() - 1);}}}
