0
点赞
收藏
分享

微信扫一扫

Java数组元素的全排列leetcode

诗与泡面 2022-04-13 阅读 51
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;
        }
    }
}
举报

相关推荐

0 条评论