@@ -0,0 +1,750 @@
+public class Solution %7B%0A    public List%3CList%3CInteger%3E%3E combine(int n, int k) %7B%0A        List%3CList%3CInteger%3E%3E combinations = new ArrayList%3C%3E ();%0A        List%3CInteger%3E curCom = new ArrayList%3C%3E();%0A        combineRecur(n, 1, k, curCom, combinations);%0A        %0A        return combinations;%0A    %7D%0A    %0A    private void combineRecur(int n, int start, int num, List%3CInteger%3E comb, List%3CList%3CInteger%3E%3E allCom) %7B%0A        if (num == 0) %7B%0A            allCom.add(new ArrayList%3CInteger%3E(comb));%0A            return;%0A        %7D%0A        if (start %3E n) %7B%0A            return;%0A        %7D%0A        %0A        comb.add(start);%0A        combineRecur(n, start+1, num-1, comb, allCom);%0A        comb.remove(comb.size()-1);%0A        combineRecur(n, start+1, num, comb, allCom);%0A    %7D%0A%7D%0A

Create Combinations.java