两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

思路

这道题目正常模拟就行了。//我还不熟练如何模拟,我在这方面还是差了点,毕竟还算是新手。所有链表都建议使用虚拟头结点。

复制代码
ListNode *swap(ListNode *head)
{
    ListNode *dummyhead = new ListNode(0);
    dummyhead->next=head;
    ListNode *cur=dummyHead;
    while(cur->next!=nullptr &&cur->next->next!=nullptr)
    {
        List *tmp1 = cur->next;
        List *tmp2 = cur->next->next->next;
        
        cur->next = cur->next->next;
        cur->next->next=tmp1;
        cur->next->next=tmp2;
    }
    List *result = dummyHead->next;
    delete dummyHead;
    return result;
}
成果

写完这一题,我对模拟的概念又上一层楼了,这个其实本质就是数学。

相关推荐
闪电麦坤954 小时前
数据结构:递归的种类(Types of Recursion)
数据结构·算法
小熊猫写算法er4 小时前
终极数据结构详解:从理论到实践
数据结构
-qOVOp-5 小时前
408第一季 - 数据结构 - 栈与队列的应用
数据结构
鑫鑫向栄6 小时前
[蓝桥杯]修改数组
数据结构·c++·算法·蓝桥杯·动态规划
鑫鑫向栄6 小时前
[蓝桥杯]带分数
数据结构·c++·算法·职场和发展·蓝桥杯
sss191s7 小时前
Java 集合面试题从数据结构到 HashMap 源码剖析详解及常见考点梳理
java·开发语言·数据结构
南林yan8 小时前
DLL动态库实现文件遍历功能(Windows编程)
windows
Mike_6668 小时前
win10安装WSL2、Ubuntu24.04
windows·ubuntu·wsl2
liulun9 小时前
Skia如何绘制几何图形
c++·windows
old_power9 小时前
UCRT 和 MSVC 的区别(Windows 平台上 C/C++ 开发相关)
c语言·c++·windows