Combinations LeetCode solution in Java
1class Solution {2public List<List<Integer>> combine(int n, int k) {3List<List<Integer>> subsets = new ArrayList<>();4generatesubsets(1, n, new ArrayList(), subsets, k);5return subsets;6}78void generatesubsets(9int start, int n, List<Integer> current, List<List<Integer>> subsets, int k) {10if (current.size() == k) {11subsets.add(new ArrayList(current));12}13for (int i = start; i <= n; i++) {14current.add(i);15generatesubsets(i + 1, n, current, subsets, k);16current.remove(current.size() - 1);17}18}19}