leetcode46:全排列

全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

java 复制代码
List<List<Integer>> list = new ArrayList<>();

    public List<List<Integer>> permute(int[] nums) {
        LinkedList<Integer> res = new LinkedList<>();
        for (int i = 0; i < nums.length; i++) {
            res.add(nums[i]);
        }
        backTrack(nums,0,res);
        return list;
    }

    void backTrack(int nums[], int start, LinkedList<Integer> res){
        if(start == nums.length){
            list.add(new ArrayList<>(res));
            return;
        }
        for (int i = start; i < nums.length; i++) {
            swap(res,start,i);
            backTrack(nums,start+1,res);
            swap(res,start,i);
        }
    }

    private void swap(LinkedList<Integer> res, int start, int i) {
        int a = res.get(start);
        res.set(start,res.get(i));
        res.set(i,a);
    }

回溯

相关推荐
爬山算法3 分钟前
Hibernate(26)什么是Hibernate的透明持久化?
java·后端·hibernate
彭于晏Yan5 分钟前
Springboot实现数据脱敏
java·spring boot·后端
luming-0211 分钟前
java报错解决:sun.net.utils不存
java·经验分享·bug·.net·intellij-idea
北海有初拥18 分钟前
Python基础语法万字详解
java·开发语言·python
alonewolf_9922 分钟前
Spring IOC容器扩展点全景:深入探索与实践演练
java·后端·spring
super_lzb24 分钟前
springboot打war包时将外部配置文件打入到war包内
java·spring boot·后端·maven
毛小茛26 分钟前
芋道管理系统学习——项目结构
java·学习
东北小狐狸-Hellxz42 分钟前
解决java客户端连接ssh失败问题
java·网络·ssh
悟能不能悟43 分钟前
HttpServletRequest request获取整个headers有什么方法
java
__万波__44 分钟前
二十三种设计模式(二十)--解释器模式
java·设计模式·解释器模式