两两交换链表中的节点

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

思路

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

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

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

相关推荐
雾沉川23 分钟前
Nano11 25H2 精简版 Windows11 系统介绍与部署实操教程
windows
不会就选b1 小时前
数据结构之链表OJ题(中)
数据结构·链表
J2虾虾1 小时前
C语言 typedef 用法
c语言·数据结构·算法
budingxiaomoli2 小时前
二叉树中的深搜
数据结构
断点之下2 小时前
数据结构从零开始④:堆——一种特殊的完全二叉树(附堆排序、TopK问题)
数据结构
WL学习笔记2 小时前
顺序表详解
c语言·数据结构
sugar__salt2 小时前
深入吃透前端线性数据结构:数组、栈、队列、链表核心原理与实战
前端·数据结构·链表
张世争2 小时前
armcc5 c++98 的静态库裁剪大小的方法
windows·静态库·裁剪·armcc
8Qi83 小时前
LeetCode 32:最长有效括号 —— 栈 + 标记法 题解
java·数据结构·算法·leetcode·职场和发展··括号匹配
vsropy3 小时前
安装虚拟机VMware
linux·windows