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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
qeen877 分钟前
【Linux】Linux简单介绍与基本指令(上)
linux·运维·服务器·学习
kiros_wang8 分钟前
Docker 使用完整指南
运维·docker·容器
Yana.nice19 分钟前
history 显示时间戳操作(Bash)
运维
正经教主33 分钟前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
tianyuanwo41 分钟前
深入解析 RISC-V 虚拟化中的 UEFI 固件配置:从 XML 到 NVRAM 的生命周期管理
xml·linux·risc-v
難釋懷1 小时前
Nginx获取客户端真实IP
服务器·前端·nginx
道川贤林1 小时前
OrangePi 系统启动优先级修改
linux·linux驱动·orangepi·u-boot
时佃鹏1 小时前
银河麒麟 V10 重装打印服务 (CUPS)+ 打印机驱动完整教程
运维·银河麒麟系统
xsc-xyc2 小时前
用 Tailscale + Syncthing 实现手机、电脑与 NAS 的跨网络文件同步
linux·网络·网络安全·智能手机·电脑
Shepherd06192 小时前
【IT 运维】Apache 使用 mod_remoteip 恢复 Cloudflare 后的真实访客 IP
运维·tcp/ip·apache