classSolution{ List<List<Integer>> result = new LinkedList<>();
public List<List<Integer>> combinationSum3(int k, int n) { LinkedList<Integer> track = new LinkedList<>(); backtrack(k, n, 1, track); return result; }
voidbacktrack(int k, int n, int start, LinkedList<Integer> track){ if (track.size() == k && n == 0) { result.add(new LinkedList<>(track)); return; } if (n < 0) return;
for (int i = start; i < 10; i++) { track.add(i); backtrack(k, n - i, i + 1, track); track.removeLast(); } } }