Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example,If n = 4 and k = 2, a solution is:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]
public class Solution { public List
> combine(int n, int k) { List
> list=new ArrayList
>(); List item=new ArrayList (); backTracking(n, k, 1, item, list); return list; } public void backTracking(int n, int k, int start, List item, List
> list){ if(item.size()==k){ list.add(new ArrayList (item)); return; } for(int i=start; i<=n; i++){ item.add(i); backTracking(n, k, i+1, item, list); item.remove(item.size()-1); } }}