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

相关内容

热门资讯

二年级下册看图写话春天来了作... 二年级下册看图写话春天来了作文 篇一春天来了春天来了,大地变得生机勃勃。图中的小朋友们正在户外玩耍,...
二年级打雪仗作文指导【通用6... 二年级打雪仗作文指导 篇一打雪仗是冬天最有趣的活动之一,对于二年级的小朋友来说,更是一种享受。下面是...
二年级美丽的早晨作文(实用6... 二年级美丽的早晨作文 篇一美丽的早晨早晨的阳光透过窗户洒进来,房间里弥漫着一股清新的味道。我慢慢睁开...
小学二年级海边旅游作文200... 小学二年级海边旅游作文200字作文 篇一我和家人去海边旅游了,真是一个美好的经历!早上,我们一大早就...
二年级【优秀6篇】 二年级 篇一:我的暑假生活暑假终于来了,我迫不及待地开始了我的暑假生活。在这个悠长的假期里,我过得非...
赏荷花二年级作文【通用6篇】 赏荷花二年级作文 篇一欣赏荷花的美丽今天,我和爸爸妈妈一起去公园赏荷花。公园里有一个大大的荷花池,里...
舞蹈汇演作文二年级【精彩6篇... 舞蹈汇演作文二年级 篇一舞蹈汇演是一场精彩绝伦的表演,让我感受到了舞蹈的魅力和美妙。我在二年级的时候...
二年级作文我家的厨师(优质6... 二年级作文我家的厨师 篇一我家的厨师是我妈妈。她是一个非常厉害的厨师,每天都能给我们做出美味可口的饭...
童年趣事作文:枕头大战【精选... 童年趣事作文:枕头大战 篇一小时候的我总是充满了无尽的精力和好奇心,每天都在探索世界的各个角落。而最...
家乡的菊花作文二年级(经典6... 家乡的菊花作文二年级 篇一家乡的菊花我家乡是一个美丽的小镇,四季如春,花草繁盛。其中,最引人注目的要...
二年级小作文28篇【精简3篇... 二年级小作文28篇 篇一我最喜欢的动物我最喜欢的动物是猫。猫咪有软软的毛,尤其是它们的小脸上,摸起来...
二年级写我的家乡【优选6篇】 二年级写我的家乡 篇一我的家乡是一个美丽的小城镇。它位于一个宽广的山谷之中,四周环绕着青翠欲滴的群山...
春雨小学二年级作文300字【... 春雨小学二年级作文300字 篇一:我的偶像我的偶像是我的爸爸。他是一个非常勤劳、聪明和有责任心的人。...
秋节作文【实用6篇】 秋节作文 篇一:传统与现代的秋节庆祝方式秋节是中国传统的重要节日之一,也是我最喜欢的节日之一。在这个...
鱼儿的作文二年级(优秀6篇) 鱼儿的作文二年级 篇一我喜欢鱼儿我是一条小小鱼儿,生活在清澈见底的小溪里。我有一个漂亮的鱼尾巴,闪闪...
二年级语文下册四字词语知识(... 二年级语文下册四字词语知识 篇一在二年级的语文下册中,学生将会接触到一些四字词语的知识。这些四字词语...
我作文(优质3篇) 我作文 篇一:我的偶像我作文 篇二:我的梦想职业我作文 篇三我作文我 周安涛,男。在本市剡山小学读二...
春天来了小学二年级作文(精选... 春天来了小学二年级作文 篇一春天来了春天来了,大自然万物复苏。阳光明媚,鸟儿欢唱,花儿绽放,给人们带...
初中二年级作文【最新3篇】 初中二年级作文 篇一我喜欢的动物我最喜欢的动物是狗。狗是人类最忠诚的朋友,它们对人类充满爱心和忠诚。...
写关于养鱼作文二年级(优秀6... 写关于养鱼作文二年级 篇一养鱼是一件非常有趣的事情。我家里有一缸漂亮的金鱼,每天看着它们游来游去,我...