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

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

示例 1:

输入:head = [1,2,3,4]
输出:[2,1,4,3]
示例 2:

输入:head = []
输出:[]
示例 3:

输入:head = [1]
输出:[1]

提示:

链表中节点的数目在范围 [0, 100] 内
0 <= Node.val <= 100

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {public:ListNode* swapPairs(ListNode* head) {if (!head || !(head->next)){return head;}ListNode* pfr = head;ListNode* psc = pfr->next;ListNode* phead = psc;ListNode* prev = nullptr;while (psc) {ListNode* rcd = nullptr;if (psc->next) {rcd = psc->next;}if (prev) {prev->next = psc;}psc->next = pfr;pfr->next = nullptr;if (rcd) {pfr->next = rcd;prev = pfr;pfr = rcd;if (pfr->next) {psc = pfr->next;}else{break;}}else{break;}}return phead;}
};

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

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

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

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

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

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

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

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

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

  5. LeedCode 24:两两交换链表中的节点

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

  6. Java实现 LeetCode 24 两两交换链表中的节点

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

  7. LeetCode 24:两两交换链表中的节点、1662. 检查两个字符串数组是否相等

    今天一道是单链表一道是String类的 一:LeetCode 24:两两交换链表中的节点 先来看一下题目信息 索引 题目意思就是把一个链表中的两两节点进行交换,题目给的例子是4个节点,是偶数个,两两节 ...

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

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

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

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

最新文章

  1. 湖北大学校长计算机考研复试分数线,湖北大学考研复试分数线
  2. ide在控制台输入编译命令_快速编译调试 Redis
  3. Sublime Text 3 快捷键总结(详细版本)
  4. windows修改右键菜单显示内容(非所有菜单适用)
  5. 【MySQL】MySQL SQL查询语法建议
  6. Kubernates和Docker
  7. 二叉树的中序遍历_94. 二叉树的中序遍历 - 中等
  8. 所经历的大文件数据导出(后台执行,自动生成)
  9. Windows命令行安装程序管理工具 - Scoop
  10. python中判断文本的编码格式
  11. php 爬虫图片,随机图片API-json格式基于python爬虫和PHP
  12. f检验matlab计算,F检验(F-Test)计算公式与在线计算器_三贝计算网_23bei.com
  13. c语言中eof的作用,C语言中EOF是什么意思?
  14. 漂亮的JQUERY SLIDESHOW 磨砂玻璃背景
  15. 福师计算机应用基础在线作业,福师《计算机应用基础》在线作业一
  16. 计算机网络——网络聊天程序的设计与实现
  17. 缓存的使用以及出现的问题
  18. C语言|博客作业10
  19. Allegro可供产品包含L、XL和GXL三个级别
  20. matlab更换YAHEI CONSOLAS HYBRID字体

热门文章

  1. js大屏导出图片_js将canvas保存成图片并下载
  2. 手写文字怎么识别,手写文字识别的方法
  3. 利用Arcgis制作图像分割数据集
  4. 12月的第一天!给你一个11月回血指南!
  5. 【linux】net-speeder减少由于网络距离过远导致的丢包问题
  6. 【seeprettyface.com】开源源码:萌娃脸生成器
  7. cairosvg在linux中的安装_Cairo编程
  8. oppo便签误删怎么办_oppo手机便签误删怎么办?oppo便签如何导入新手机
  9. 基因编辑c语言,基因编辑为何失败?那是因为Cas9霸着C位
  10. 2020面试题合集之吊打面试官系列(一),Android中为什么需要Handler