public class Solution {
public ArrayList<ArrayList<Integer>> combine(int n, int k) {
ArrayList<ArrayList<Integer>> re = new ArrayList<ArrayList<Integer>>();
if(n<=0||k<=0) return re;
if(k==1){
for(int i=1; i<=n;i++){
ArrayList<Integer> cr = new ArrayList<Integer>();
cr.add(i);
re.add(cr);
}
return re; // think why it is here
}
for(int i=n;i>=k;i--){ // think this condition
for( ArrayList<Integer> list:combine(i-1,k-1)){
list.add(i);
re.add(list);
}
}
return re;
}
}
public ArrayList<ArrayList<Integer>> combine(int n, int k) {
ArrayList<ArrayList<Integer>> re = new ArrayList<ArrayList<Integer>>();
if(n<=0||k<=0) return re;
if(k==1){
for(int i=1; i<=n;i++){
ArrayList<Integer> cr = new ArrayList<Integer>();
cr.add(i);
re.add(cr);
}
return re; // think why it is here
}
for(int i=n;i>=k;i--){ // think this condition
for( ArrayList<Integer> list:combine(i-1,k-1)){
list.add(i);
re.add(list);
}
}
return re;
}
}