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

头结点dummyHead

定义结点temp用来暂存node2

让node1和node2位置互换:head(temp)->node1->node2->node3->node4

然后让temp等于交换后node1位置:head->node2->node1(temp)->node3->node4

cpp 复制代码
class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        ListNode* dummyHead = new ListNode(0);
        dummyHead->next = head;
        ListNode* temp = dummyHead;
        while (temp->next != nullptr && temp->next->next != nullptr) {
            ListNode* node1 = temp->next;
            ListNode* node2 = temp->next->next;
            temp->next = node2;
            node1->next = node2->next;
            node2->next = node1;
            temp = node1;
        }
        return dummyHead->next;
    }
};

作者:力扣官方题解
链接:https://leetcode.cn/problems/swap-nodes-in-pairs/solutions/444474/liang-liang-jiao-huan-lian-biao-zhong-de-jie-di-91/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
Bruce_Liuxiaowei15 分钟前
MQTT协议在物联网环境中的安全风险与防范指南
运维·网络·物联网·安全·网络安全
Paul_092016 分钟前
golang面经——内存相关模块
服务器·网络·golang
Lu Zelin5 小时前
单片机为什么不能跑Linux
linux·单片机·嵌入式硬件
-dzk-6 小时前
【3DGS复现】Autodl服务器复现3DGS《简单快速》《一次成功》《新手练习复现必备》
运维·服务器·python·计算机视觉·3d·三维重建·三维
CS Beginner6 小时前
【Linux】 Ubuntu 开发环境极速搭建
linux·运维·ubuntu
ajassi20006 小时前
开源 C++ QT QML 开发(二)工程结构
linux·qt·qml
致宏Rex6 小时前
Docker 实战教程(7) | 镜像管理和仓库操作
运维·docker·容器
今天只学一颗糖6 小时前
Linux学习笔记--insmod 命令
linux·笔记·学习
摩羯座-185690305947 小时前
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
linux·网络·数据库·windows·爬虫·python
irisart8 小时前
4.1 > Linux 文件/目录权限管理【理论】
linux