两两交换链表中的节点

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

思路

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

复制代码
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;
}
成果

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

相关推荐
Mbblovey2 小时前
Picsart美易照片编辑器和视频编辑器
网络·windows·软件构建·需求分析·软件需求
苦 涩3 小时前
考研408笔记之数据结构(七)——排序
数据结构
Victoria.a4 小时前
顺序表和链表(详解)
数据结构·链表
csj506 小时前
数据结构基础之《(16)—链表题目》
数据结构
謓泽6 小时前
【数据结构】二分查找
数据结构·算法
Ase5gqe6 小时前
Windows 配置 Tomcat环境
java·windows·tomcat
攻城狮7号7 小时前
【10.2】队列-设计循环队列
数据结构·c++·算法
写代码超菜的8 小时前
数据结构(四) B树/跳表
数据结构
小小志爱学习8 小时前
提升 Go 开发效率的利器:calc_util 工具库
数据结构·算法·golang