leetcode 46. 全排列


用一个boolean数组记录是否被使用。

class Solution {
    List> ans=new ArrayList<>();
    List cur=new ArrayList<>();
    boolean[] used;

    public List> permute(int[] nums) {
        used=new boolean[nums.length];
        dfs(nums);
        return ans;
    }

    void dfs(int[] nums){
        int n=nums.length;
        if(cur.size()==n) ans.add(new ArrayList<>(cur));
        for(int i=0;i

相关