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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
Titan20242 分钟前
Linux环境变量个人笔记
linux·服务器·c++
zx_zx_1233 分钟前
传输层协议tcp (2)
服务器·网络·tcp/ip
青柠代码录14 分钟前
【Linux】路径区分:testdir、testdir/、testdir/*
linux·运维·服务器
7yewh20 分钟前
jetson_yolo_deployment 02_linux_dev_skills
linux·python·嵌入式硬件·yolo·嵌入式
supersolon32 分钟前
Windows下WSL(Ubuntu24.04)安装Nodejs
linux·ubuntu·node.js
进击切图仔1 小时前
跨系统时间戳同步问题解决总结
linux
Benszen1 小时前
Docker容器化解决方案全解析
运维·docker·容器
badhope2 小时前
Docker从零开始安装配置全攻略
运维·人工智能·vscode·python·docker·容器·github
wsoz2 小时前
文件IO讲解
linux·嵌入式