当前位置: 首页 > article >正文

力扣-链表-24 两两交换链表中的节点

思路1

设置虚拟节点作为pre,第一个节点是cur,后一个是post,不断更换顺序并且更改好pre的next

代码1

class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        if(!head) return head;
        ListNode* cur = head;
        ListNode* post =  head->next;
        ListNode* dummpy_head = new ListNode();
        dummpy_head->next = head;
        ListNode* pre = dummpy_head;
        while(post){
            ListNode* tmpCur = new ListNode();
            ListNode* tmpPost = new ListNode();
            if(post->next && post->next->next){
                tmpCur = post->next;
                tmpPost = tmpCur->next;
            }else{
                tmpCur = nullptr;
                tmpPost = nullptr;
            }
            pre->next = post;
            cur->next = post->next;
            post->next = cur;
            pre = cur;
            cur = tmpCur;
            post = tmpPost;
        }

        return dummpy_head->next;

    }
};


http://www.kler.cn/a/522408.html

相关文章:

  • 编译dpdk19.08.2中example时一系列报错解决
  • 2024年记 | 凛冬将至
  • vue2和vue3组件之间的通信方式差异
  • 【PyTorch】5.张量索引操作
  • A星算法两元障碍物矩阵转化为rrt算法四元障碍物矩阵
  • 团体程序设计天梯赛-练习集——L1-024 后天
  • 16.Word:石油化工设备技术❗【28】
  • oracle 19C RAC打补丁到19.26
  • linux 环境安装 dlib 的 gpu 版本
  • HTML(快速入门)
  • WPS数据分析000010
  • Vue.js组件开发-Vue实现上传word模版打印设置自定义样式和布局
  • 【JAVA项目】基于ssm的【宠物医院信息管理系统】
  • 【论文阅读】Equivariant Diffusion Policy
  • 1.Template Method 模式
  • 【信息系统项目管理师-选择真题】2011下半年综合知识答案和详解
  • 软件测试 —— jmeter(2)
  • SpringBoot中Excel表的导入、导出功能的实现
  • 【处理和预防校园霸凌】。营造安全
  • Android开发基础知识
  • Github 2025-01-26 php开源项目日报Top10
  • 练习题 - Django 4.x File 文件上传使用示例和配置方法
  • 电脑开机后就会出现一个名叫DIRECT-OK***AmsDL的WiFi,***是我的电脑名
  • zyNo.18
  • Golang笔记——常用库context和runtime
  • Linux:线程池和单例模式