java刷题--46全排列

Posted Anrys

tags:

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

java刷题--46全排列

题目

在这里插入图片描述

代码

class Solution {
    List<List<Integer>> res = new ArrayList<>();
    public List<List<Integer>> permute(int[] nums) {        
        backtrack(nums,new ArrayList<>());
        return res;
    }
    public void backtrack(int[] nums, List<Integer> temp){
    if(temp.size() == nums.length){
        res.add(new ArrayList<Integer>(temp));
        return;
    }
    for(int num:nums){
        if(!temp.contains(num)){
            temp.add(num);
            backtrack(nums,temp);
            temp.remove(temp.size()-1);
        }
    }
  }
}

结果

在这里插入图片描述

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

Leetcode刷题Python46. 全排列

力扣刷题:全排列(java实现)

力扣刷题:全排列(java实现)

精选力扣500题 第28题 LeetCode 46. 全排列c++ / java 详细题解

[leetcode] 46. 全排列(Java)

算法剑指 Offer II 083. 没有重复元素集合的全排列|46. 全排列(java / c / c++ / python / go / rust)