首页 > 其他分享 >24两两交换链表中的节点

24两两交换链表中的节点

时间:2023-04-23 22:24:00浏览次数:40  
标签:24 pre head dummyHead ListNode cur next 链表 节点

力扣刷题 24.两两交换链表中的节点--day4

题目分析

还是那句话, 需要先模拟一下节点交换的过程
将整个过程细分为一个个小过程,以此类推下去
注意画图分析

设置三个指针 post cur pre
注意 1. 节点的交换过程 2. 指针的递推

解法

ListNode *swapPairs(ListNode *head)
{
    if (!head)
        return nullptr;
    ListNode *dummyHead = new ListNode();
    dummyHead->next = head;
    ListNode *post = dummyHead, *cur = head, *pre = head->next;

    while (cur && pre)
    {
        ListNode *temp = pre->next;
        pre->next = cur;
        cur->next = temp;
        post->next = pre;

        post = cur;
        cur = cur->next;
        if (cur == nullptr)
        {
            pre = nullptr;
        }
        else
        {
            pre = cur->next;
        }
    }
    head = dummyHead->next;
    delete dummyHead;
    return head;
}

标签:24,pre,head,dummyHead,ListNode,cur,next,链表,节点
From: https://www.cnblogs.com/jianchuxin/p/17347943.html

相关文章

  • ❗❗142环形链表II
    力扣刷题142.环形链表II--day4题目分析这道题目难度较大,特别是要求空间复杂度为O(1)的时候如果不追求空间复杂度的话,可以使用hash表把目前遍历的节点指针存入hash表,当下次在hash表中找到该节点时,即找到了答案空间复杂度为O(1)的解法:较为复杂,具有一定的数学分......
  • 2024考研408Week6
    一、本周总结:使用时间:(先目标40h,未达到)总计10h26min,数学5h29min,专业课2h29min,英语1h58min。纠结考公还是考研,心态浮躁起来,不是很静的下新来读书。二、存在问题:1.心态浮躁......
  • 我国5G基站总数接近240万个,智慧杆提供新助力
    近日,工信部了发布2023年1—2月份通信业经济运行情况。数据显示,截至今年2月末,我国5G基站总数已达238.4万个,占移动基站总数的21.9%,5G网络、千兆光网、物联网等新型基础设施建设也在稳步推进。 加快建设5G基站,扩大5G网络覆盖,为我们的社会发展带来了更多可能性和机遇。基于5G通信技......
  • node-red 在功能模块下自定义节点
    在目录下node-red\packages\node_modules\@node-red\nodes\core\function下创建compare.js和compare.html demo.js demo.html确保 data-template-name与RED.nodes.registerType的名称要一致 然后npmrunstart就可以看到 注:https://blog.csdn.net/wmjjjj/artic......
  • 24V输入5A同步芯片/WT6023A
       WT6023A是一款采用抖动频率模式控制架构的高效、单片同步降压型DC/DC转换器。能够提供高达6A的连续负载,具有出色的线路和负载调整率。该器件工作在7V至30V的输入电压范围,并提供3.3V至25V的可调输出电压。    WT6023A具有短路和热保护电路,可提高系统......
  • 【HMS Core】视频编辑服务报错method not allowed 20124、Parameter error. Error: ap
    【关键字】视频编辑服务、报错 【问题背景】问题1:集成视频剪辑服务,在原子能力SDK的素材管理时,提示Parametererror.Error:appIdisinvalid.问题2:视频编辑sdkdemo的所有功能提示methodnotallowed20124,后台已申请动态照片、一键微笑、AI着色、一键动效、一键染发的功能......
  • 代码随想录算法训练营第四天 | 24.两两交换链表
     ......
  • [牛客]链表的回文结构
    牛客链接思路:找中间结点从中间结点开始对后半段进行逆置比较前半段和后半段相等是,不相等不是只需将我们前面写过的链表中间结点,逆置链表的代码复用,并加上如下代码即可最终代码:/*structListNode{intval;structListNode*next;ListNode(intx):val(x),ne......
  • 算法学习day03链表part01-203、707、206--待办
    //这块需求重新进行学习packageLeetCode.linkedlistpart01;publicclassListNode{//结点的值intval;//下一个结点ListNodenext;//节点的构造函数(无参)publicListNode(){}//节点的构造函数(有一个参数)publicLis......
  • 20-4-21--链表--两个有序链表序列的合并
    已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不......