package leetcode_100; import java.util.ArrayList; import java.util.List; public class Solution77 { public List<List<Integer>> combine(int n, int k) { List<List<Integer>> ans = new ArrayList<List<Integer>>(); match(ans,new ArrayList<Integer>(),1,n,k); return ans; } private void match(List<List<Integer>> ans, ArrayList<Integer> arrayList, int start, int n, int k) { if(k==0){ ans.add(new ArrayList<Integer>(arrayList)); return; } for(int i = start ; i <= n ; i++){ arrayList.add(i); match(ans,arrayList,i+1,n,k-1); arrayList.remove(arrayList.size()-1); } } }