46. Permutations
public class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> ret=new ArrayList<List<Integer>>(); permute(new ArrayList<Integer>(),ret,nums); return ret; } private void permute(List<Integer> list,List<List<Integer>> ret, int[] nums){ if(list.size()==nums.length) ret.add(new ArrayList<Integer>(list)); else for(int i=0;i<nums.length;i++) if(!list.contains(nums[i])) { list.add(nums[i]); permute(list,ret,nums); list.remove(list.size()-1); } } }