216. Combination Sum III
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public List<List<Integer>> combinationSum3(int k, int n) {
List<List<Integer>> resultList = new ArrayList();
helper(n, k, resultList, new LinkedList<Integer>(), 0, 1);
return resultList;
}
private void helper(int n,
int k,
List<List<Integer>> resultList,
LinkedList<Integer> currList,
int sum,
int start) {
if(currList.size() == k && sum == n) {
resultList.add(new ArrayList(currList));
return;
}
if(currList.size() < k) {
for(int j = start; j <= 9; j++) {
currList.add(j);
helper(n, k, resultList, currList, sum+j, j+1);
currList.removeLast();
}
}
}
}