public List<List<Integer>> permuteUnique(int[] nums) { int len = nums.length; ans = new ArrayList<List<Integer>>(); visited = newboolean[len]; //排序是剪枝的基础 Arrays.sort(nums); dfs(nums, 0, new ArrayDeque<Integer>(len)); return ans; }
publicvoiddfs(int[] nums, int index, Deque<Integer> path){ int len = nums.length; if(index == len){ ans.add(new ArrayList<Integer>(path)); return; }