一:题目

二:上码


class Solution {public:ListNode* swapPairs(ListNode* head) {/**思路:1.关于结点个数的问题,如果是奇数个的话,我们就不计算最后一个2.关于如何进行交换,我们是分为三步我们是定义一个虚拟头节点方便操作 0-1-2-3-41>:首先让虚拟头节点执行第二个结点 0-2-3-42>:然后第二个结点再指向第一个结点 0-2-13>:然后让第一个结点再指向第三个结点0-2-1-3-4由此我们就完成一组结点的交换,但是这个过程中 第二步我们需要存放一个临时结点,才能让其指向第三步我们也需要一个临时结点,才能使第一个结点指向后序的结点    */ListNode*node = new ListNode(0);node->next = head;//这样的话 node 就和 head指向的链表连起来了ListNode*cur = node;while (cur->next != nullptr && cur->next->next != nullptr) {//保证我们要交换的两个书不为空//存放临时结点ListNode*temp1 = cur->next;//存放指向第一个结点的指针ListNode*temp2 = cur->next->next->next;//存放指向第三个结点的指针//开始交换0-1-2-3-4cur->next = cur->next->next;//虚拟头结点指向第二个结点 0-2-3-4cur->next->next = temp1;//第二个结点指向第一个结点 0-2-1cur->next->next->next = temp2;//让第一个结点指向第三个结点 0-2-1-3-4cur = cur->next->next;//往后移动两个结点开始新的交换}   return node->next;//一直都是cur指针对链表进行操作,那么的话node->next是一直指向链表的头节点的}
};

leetcode24. 两两交换链表中的节点相关推荐

  1. 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ

    LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...

  2. (补)20200328:两两交换链表中的节点(leetcode24)

    两两交换链表中的节点 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 我们以给的例子1→2→3→4说明,因为只需要两两交换,因此最后得到2→1→4→3. 我们把过程写一下:1→2→3→4 到 ...

  3. LeetCode-链表-24. 两两交换链表中的节点

    24. 两两交换链表中的节点 思路:使用一个头节点,然后用cur指针指向头 /*** Definition for singly-linked list.* struct ListNode {* in ...

  4. LeetCode 23合并K个升序链表24两两交换链表中的节点

    维护不易,点赞再看,感谢支持 合并K个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 示例 1: 输入:lists = [[1 ...

  5. 力扣 两两交换链表中的节点

    力扣 两两交换链表中的节点 题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2-> ...

  6. 24.两两交换链表中的节点

    24. 两两交换链表中的节点 方法一:迭代,虚拟头结点 class Solution {public ListNode swapPairs(ListNode head) {ListNode dummy ...

  7. Leetcode(24)——两两交换链表中的节点

    Leetcode(24)--两两交换链表中的节点 题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 1: ...

  8. LeetCode 24.两两交换链表中的节点 C语言

    题目 24.两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3- ...

  9. 链表——24. 两两交换链表中的节点

    1 题目描述 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 2 题目示例 示例 2: 输入 ...

  10. Python实现两两交换链表中的节点

    题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. Leetcode原题地址:https://leetcode-cn. ...

最新文章

  1. python双下划线用法详解
  2. Verilog有符号数运算
  3. 基于kafka_2.11-2.1.0实现的生产者和消费者代码样例
  4. MySQL 5.7 for Windows 解压缩版配置安装
  5. 为何出现Error Loading Midas.dll消息?
  6. VS2012 生成项目报 Lc.exe已退出,代码为-1 错误
  7. div文字自动扩充_文字资料扩充
  8. Spring MVC和JQuery用于Ajax表单验证
  9. android module 引用libs里面的so文件_Android中的JNI开发,你了解多少?
  10. python调用sklearn中朴素贝叶斯踩坑
  11. 使用jquery 动态操作添加/删除tr td
  12. 来了!最详细2019实习生退税完全攻略(适用于所有实习过的同学)
  13. php的web表单系统源码毕设_用PHP+MySQL实现在线租房管理系统_毕业设计.doc
  14. onvif协议讲解(一)
  15. 关于AMS117_3.3V电源芯片导致CH340串口芯片重启的问题
  16. 并发编程(四)---设计模式
  17. 首家区块链上市公司 他们为金融机构量身定做的区块链底层基础设施
  18. oracle如何增加initial,Oracle修改表和索引的INITIAL初始化大小
  19. 在打印服务器中新增纸张规格后,在打印机首选项中的自定义纸张中看不到的原因
  20. js 中的this指针

热门文章

  1. 【专升本计算机】最新甘肃省专升本考试C语言部分复习题带答案
  2. 【数据库原理及应用】经典题库附答案(14章全)——第十四章:分布式数据库系统
  3. ArcGIS 10.5河流水系左斜体样式经典设置方法
  4. C# dataGridView隔行显示不同颜色
  5. Android之提示错误Can not perform this action after onSaveInstanceState
  6. Android之通过Binder机制实现IPC和linux的传统IPC的对比分析
  7. 剑指offer之数组中的逆序对
  8. Android之ndk之用arm-linux-androideabi工具通过地址找到具体哪里崩溃
  9. Android之ActivityManage长用方法总结
  10. 【新手宝典】一篇博文带萌新建站并了解建站体系流程和对萌新友好的便捷方式,这篇博文很有可能是你的启蒙文