全排列-回溯

Posted nevergiveup0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全排列-回溯相关的知识,希望对你有一定的参考价值。

class Solution 
    public void back(int n,ArrayList<Integer> nums,List<List<Integer>> output,int first)
        if(first==n)output.add(new ArrayList<Integer>(nums));
        for(int i=first;i<n;i++)
            Collections.swap(nums,first,i);
            back(n,nums,output,first+1);
            Collections.swap(nums,i,first);
          
    
    public List<List<Integer>> permute(int[] nums) 
        int n=nums.length;
        List<List<Integer>> output=new ArrayList();
        ArrayList<Integer> nums2=new ArrayList<Integer>();
        for(int num:nums)
            nums2.add(num);
        
        back(n,nums2,output,0);
    return output;
    

 

 

 

以上是关于全排列-回溯的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode---回溯法(全排列)

LeetCode---回溯法(全排列)

leetcode 47. 全排列 II---回溯篇6

回溯,字符串处理,全排列

全排列permute,python回溯实现全排列,permute backtracking

力扣:全排列(回溯算法)