Java数组元素的全排列leetcode

  • Post author:
  • Post category:java


给定一个不含重复数字的数组

nums

,返回其

所有可能的全排列

。你可以

按任意顺序

返回答案。

class Solution {
    public List<List<Integer>> permute(int[] nums) {
        List<List<Integer>> list = new ArrayList<>();
        LinkedList<Integer> track = new LinkedList<>();
        boolean[] used = new boolean[nums.length];

        backTrack(list,track,nums,used);
        return list;
    }
    public void backTrack(List<List<Integer>> list,LinkedList<Integer> track,int[] nums,boolean[] used){
        if(track.size() == nums.length){
            list.add(new LinkedList<>(track));
            return;
        }
        for(int i =0;i < nums.length;i++){
            if(used[i]){
                continue;
            }
            track.add(nums[i]);
            used[i] = true;
            backTrack(list,track,nums,used);
            track.removeLast();
            used[i] = false;
        }
    }
}



版权声明:本文为qq_42900213原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。