Leetcode 全排序

回溯算法实现全排序:

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

猜你喜欢

转载自blog.csdn.net/yang12332123321/article/details/117265766