leetcode24. 两两交换链表中的节点
一:题目
二:上码
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. 两两交换链表中的节点相关推荐
- 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ
LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...
- (补)20200328:两两交换链表中的节点(leetcode24)
两两交换链表中的节点 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 我们以给的例子1→2→3→4说明,因为只需要两两交换,因此最后得到2→1→4→3. 我们把过程写一下:1→2→3→4 到 ...
- LeetCode-链表-24. 两两交换链表中的节点
24. 两两交换链表中的节点 思路:使用一个头节点,然后用cur指针指向头 /*** Definition for singly-linked list.* struct ListNode {* in ...
- LeetCode 23合并K个升序链表24两两交换链表中的节点
维护不易,点赞再看,感谢支持 合并K个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 示例 1: 输入:lists = [[1 ...
- 力扣 两两交换链表中的节点
力扣 两两交换链表中的节点 题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2-> ...
- 24.两两交换链表中的节点
24. 两两交换链表中的节点 方法一:迭代,虚拟头结点 class Solution {public ListNode swapPairs(ListNode head) {ListNode dummy ...
- Leetcode(24)——两两交换链表中的节点
Leetcode(24)--两两交换链表中的节点 题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 1: ...
- LeetCode 24.两两交换链表中的节点 C语言
题目 24.两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3- ...
- 链表——24. 两两交换链表中的节点
1 题目描述 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 2 题目示例 示例 2: 输入 ...
- Python实现两两交换链表中的节点
题目描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. Leetcode原题地址:https://leetcode-cn. ...
最新文章
- python双下划线用法详解
- Verilog有符号数运算
- 基于kafka_2.11-2.1.0实现的生产者和消费者代码样例
- MySQL 5.7 for Windows 解压缩版配置安装
- 为何出现Error Loading Midas.dll消息?
- VS2012 生成项目报 Lc.exe已退出,代码为-1 错误
- div文字自动扩充_文字资料扩充
- Spring MVC和JQuery用于Ajax表单验证
- android module 引用libs里面的so文件_Android中的JNI开发,你了解多少?
- python调用sklearn中朴素贝叶斯踩坑
- 使用jquery 动态操作添加/删除tr td
- 来了!最详细2019实习生退税完全攻略(适用于所有实习过的同学)
- php的web表单系统源码毕设_用PHP+MySQL实现在线租房管理系统_毕业设计.doc
- onvif协议讲解(一)
- 关于AMS117_3.3V电源芯片导致CH340串口芯片重启的问题
- 并发编程(四)---设计模式
- 首家区块链上市公司 他们为金融机构量身定做的区块链底层基础设施
- oracle如何增加initial,Oracle修改表和索引的INITIAL初始化大小
- 在打印服务器中新增纸张规格后,在打印机首选项中的自定义纸张中看不到的原因
- js 中的this指针
热门文章
- 【专升本计算机】最新甘肃省专升本考试C语言部分复习题带答案
- 【数据库原理及应用】经典题库附答案(14章全)——第十四章:分布式数据库系统
- ArcGIS 10.5河流水系左斜体样式经典设置方法
- C# dataGridView隔行显示不同颜色
- Android之提示错误Can not perform this action after onSaveInstanceState
- Android之通过Binder机制实现IPC和linux的传统IPC的对比分析
- 剑指offer之数组中的逆序对
- Android之ndk之用arm-linux-androideabi工具通过地址找到具体哪里崩溃
- Android之ActivityManage长用方法总结
- 【新手宝典】一篇博文带萌新建站并了解建站体系流程和对萌新友好的便捷方式,这篇博文很有可能是你的启蒙文