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

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

24 两两交换链表中的节点(力扣:https://leetcode.cn/problems/swap-nodes-in-pairs/

条件:成对交换链表节点(而不是其中的值)剩余单数或null时退出,最后返回新head(空/单节点链表返回原head)
Tips:

  1. 由于可交换情景下需要指定原第二个节点为新头节点、空和单节点链表不需要更换头节点,所以使用虚拟头统一处理(虚拟头next指向原head且return 虚拟头next),把修改丢给后面的循环判断;
  2. 遍历指针只操作遍历和交换,所以需要定义另一个prevTail指针衔接变化后的两对节点;
  3. 交换时易混淆遍历和衔接指针的指向,建议使用first和second保证逻辑清楚,此外交换时修改的都是first或者second的next而非first本身地址,所以prevTail可以在交换后指向first不用担心地址丢失或者指向被修改的地址;
点击查看代码
/*** 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) {//虚拟头记住未来新head的地址,不管需不需要移位,最后return dummyhead->next即可ListNode* dummyHead = new ListNode();dummyHead->next = head;//ListNode* dummyHead = head->next;//遍历用指针ListNode* current = head;//衔接切换前后两对节点ListNode* prevTail = dummyHead;//非空链表、单节点链表、后续待处理的为偶数while(current != nullptr && current->next != nullptr){ListNode* first = current;ListNode* second = current->next;ListNode* nextCurrent = current->next->next;//2->1second->next =  first;//1->3first->next = nextCurrent;//让上组的结尾指向新头,链接两个组prevTail->next = second;//越过12从3开始current = nextCurrent;//这里prevend更新成上一对的新尾部(第一次循环里是1)prevTail = first;}return dummyHead->next;}
};
http://www.jsqmd.com/news/298556/

相关文章:

  • 2026.1.25
  • 聚焦水下清淤机器人:市场反馈良好的厂家解析,热门的水下清淤机器人口碑排行行业优质排行榜亮相
  • 2026年江苏数字营销服务商选型指南:从内容制作到生态构建
  • 2026年成都环保涂料供货商综合评测:谁在引领诚信与价值?
  • 2026年绩效薪金咨询公司排名揭晓,创锟咨询性价比高值得推荐!
  • 2026年湖南不错的GEO优化专业公司,数石网络以技术驱动精准营销
  • 2026年优质小流量水泵品牌推荐,聊聊小流量水泵品牌哪家好
  • 聊聊升降平台生产厂技术强的企业,固佳工业设备优势凸显
  • 聊聊靠谱的电镀金加工服务商家都有谁,附十大排名
  • 2026牛客网春招面经,BATJ最新10000道Java中高级面试题,限时开源
  • 2026年辽宁优秀的汽车贴膜门店推荐,贴隐形车衣/太阳膜/贴车衣/贴太阳膜/隐形车衣/汽车车衣,汽车贴膜门店哪家好
  • 高效对接上海智推时代 GEO 服务,必备官方联系渠道全整理
  • Composition 英文单词学习
  • 2026年浙江新媒体运营培训汇总,哪家性价比高一目了然!
  • 2026原色牛仔裤推荐,这些舒适耐穿款式你知道几个?
  • 哪个厂家的水泵质量好,银虹泵业口碑出众引关注
  • 说说高标准农田建设用水泵,配件全、质量好的品牌哪家性价比高
  • 企业合作不踩坑:上海智推时代官方认证联系方式详细指南
  • 2026年北京性价比高的连续镀定制厂家,快来看看
  • RK3588平台Android 12音频驱动与BMS系统优化实战解析
  • 低资源下的高质量微调:LoRA技术助力大模型个性化应用全攻略
  • 极致启动体验打造:基于RK3588平台的Android开机动画设计与性能提升方案
  • Android 12 on RK3588:ASoC音频驱动与电池管理系统(BMS)协同优化全流程详解
  • 深入剖析Android默认启动器:ResolverActivity自动设置机制设计与实现指南
  • 跟我学C++中级篇——Lambda表达式的处理
  • 基于YOLOv8和RepGhost的轻量化目标检测优化与性能提升
  • 基于YOLOv8的多类CAM可视化在目标检测中的应用与分析
  • 基于激活函数替换和ONNX-Simplifier的ONNX模型部署性能提升指南
  • YOLOv11轻量化设计:引入变核卷积(AKConv)提升检测效率
  • 2025气电滑环市场大排行,哪些厂家笑傲江湖?帽式导电滑环/气路滑环/导电环/过孔导电滑环/滑环,气电滑环厂家如何选