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);
                }
    }
}

 

posted @ 2017-09-25 07:51  Weiyu Wang  阅读(136)  评论(0编辑  收藏  举报