class Solution {/**
1.全排列问题,我们的横向都是从0开始不再是st了 因为我们用到前面已经使用过的元素
单是在纵向递归当中我们不能使用重复的元素,这里我们用used来去重。
*/
private List<List<Integer>> ans = new ArrayList<>();
private List<Integer> path = new ArrayList<>();
private boolean used[];
public voidgetAns(int[] nums,boolean[] used){if(path.size()== nums.length){
ans.add(new ArrayList<>(path));}for(int i =0; i < nums.length; i++){if(used[i])continue;
used[i]= true;
path.add(nums[i]);getAns(nums,used);
path.remove(path.size()-1);
used[i]= false;}}
public List<List<Integer>>permute(int[] nums){
used = new boolean[nums.length];getAns(nums,used);return ans;}}