回溯算法实现全排序:
class Solution {
private static List<List<Integer>> rs;
public List<List<Integer>> permute(int[] nums) {
rs=new ArrayList<>();
dfs(nums,new ArrayList<Integer>()); //一个
return rs;
}
public static void dfs(int [] nums, List<Integer> list){
if (list.size()==nums.length){
rs.add(new ArrayList<>(list));
}
for (int i=0;i<nums.length;i++){
if (list.contains(nums[i])){
continue;
}
list.add(nums[i]);
dfs(nums,list);
list.remove(list.size()-1);
}
}
}