Leetcode25. K个一组翻转链表
创始人
2024-06-02 18:24:59
0

目录

    • 一、题目描述:
    • 二、解决思路和代码
      • 1. 解决思路
      • 2. 代码

一、题目描述:

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

  1. 示例 1:
    • 输入:head = [1,2,3,4]
    • 输出:[2,1,4,3]
  2. 示例 2:
    • 输入:head = []
    • 输出:[]
  3. 示例 3:
    • 输入:head = [1]
    • 输出:[1]
  • 提示:
    • 链表中节点的数目在范围 [0, 100] 内
    • 0≤Node.val≤1000 \leq Node.val \leq 1000≤Node.val≤100

二、解决思路和代码

1. 解决思路

  • 分析:借助一个头指针,以及四指针实现 翻转K个一组 的节点
    • step1: 借助一个头节点,方便后续修改指针指向操作

    • step2: 借助三个指针:pre, cur, last

      • cur: 指向 一组k个节点 的第一个节点

      • last: 指向 一组k个节点 的最后一个节点

      • pre: 指向 待交换一组k个节点 的前一个节点

      • 例如,当 k=3 时,先找到 pre, cur, last 所指向的节点:

    • step3: 翻转k个一组链表

      • 翻转前链表的最后一个节点为翻转后链表的第一个节点,修改: pre.next=last
      • 使用头插法实现K个一组翻转链表的操作:
        • 借助一个临时指针temp,指向待翻转链表的第一个节点


    • step4: 重复step2, step3,直到遍历所有节点

2. 代码

    from typing import *class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = nextclass Solution:def reverseKGroup(self, head: Optional[ListNode], k: int) -> Optional[ListNode]:if k==1: return head## step1:pre = ListNode(val=-1, next=head)head = prewhile pre.next:## step2:   cur = last = pre.nextcount = 1while count1:temp = curcur = cur.nextcount -= 1temp.next = last.nextlast.next = tempif k-count==1: pre = temp## if cur==last: pre = tempreturn head.next

相关内容

热门资讯

小型公司生日会主持词 小型公司生日会主持词  导读:由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动和集会中,...
公司中秋致辞 公司中秋致辞范文(精选9篇)  在日常生活或是工作学习中,大家都用到过致辞吧,致辞具有针对性,要认清...
《宋小宝相亲2》小品台词 《宋小宝相亲2》小品台词  赵海燕:干啥去了,大早上起来?  赵本山:我不是给你买早餐买回来了。  ...
婚庆答谢宴致辞 婚庆答谢宴致辞(通用7篇)  无论在学习、工作或是生活中,大家都不可避免地会接触到致辞吧,致辞受场合...
大班毕业典礼结束语 小编为大家推荐的是大班毕业典礼结束语,希望可以帮助到大家,欢迎大家阅读参考,可以借鉴的哈。主持词结束...
《东京爱情故事》日剧经典台词 《东京爱情故事》日剧经典台词  在平平淡淡的日常中,大家一定都接触过故事吧,故事是通过文字来表达一个...
会议主持词 会议主持词(通用5篇)  根据活动对象的不同,需要设置不同的主持词。在如今这个时代,各种场合中活跃现...
夏天主持词开场白 夏天主持词开场白范本  开场白就是演出开场时引入本题的道白,比喻文章或讲话等开始的部分,一份优秀的开...
追悼会主持词及议程 追悼会主持词及议程  追悼会是有程序的,要一步一步的来,按照程序来进行,追悼会主持词的关键,是要把悼...
毕业晚会主持词 【精选】毕业晚会主持词3篇  根据活动对象的不同,需要设置不同的主持词。在当今社会生活中,主持人在各...
公司年会晚宴主持词 公司年会晚宴主持词(精选5篇)  一年的时间很短暂,转眼间又到了快过年的时候,一年的时间就这样过去了...
班主任新学期致辞 班主任新学期致辞(通用7篇)  在平时的学习、工作或生活中,许多人都有过写致辞的经历,对致辞都不陌生...
六一节目主持词 六一节目主持词(通用16篇)  主持词可以采用和历史文化有关的表述方法去写作以提升活动的文化内涵。随...
记者节的主持词 记者节的主持词  女:他们,是邻家的男孩女孩,为你述说那缤纷的世界,他们,是春天飘来的风信,为你带来...
老同学聚会主持词 老同学聚会主持词尊敬的各位老师、老同学们:大家好!  人生沉浮十几载,同学情义始最真,老同学聚会主持...
铁血红安的经典台词 铁血红安的经典台词  1.小小红安,人人好汉,铜锣一响,四十八万,男将打仗,女将送饭。  2.我就是...
八十大寿主持词 八十大寿主持词合集10篇  主持词要把握好吸引观众、导入主题、创设情境等环节以吸引观众。在现在的社会...
模拟跨年晚会主持词 模拟跨年晚会主持词A:亲爱的老师 B:同学们 A:大家 AB:新年好A:这里是2012年跨年晚会现场...