Leetcode24.两两交换链表中的节点
创始人
2024-06-03 03:24:28
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. 解决思路

  • 分析:借助一个头指针,以及三指针实现两两交换相邻的节点
    • step1: 借助一个头指针,方便后续修改指针指向操作

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

      • cur: 指向两两交换的节点的第一个节点

      • last: 指向两两交换的节点的最后一个节点

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

    • step3: 修改cur, last, pre三个节点指针,实现两两节点交换操作,如下图所示:

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

2. 代码

    from typing import *class ListNode:def __init__(self, val=0, next=None):self.val = valself.next = nextclass Solution:def swapPairs(self, head: Optional[ListNode]) -> Optional[ListNode]:if head==None or head.next==None:return headpre = ListNode(val=-1,next=head)cur = headlast = head.nexthead = prewhile True:## pre, cur, lastcur.next = last.nextlast.next = curpre.next = last## pre, last, curif cur.next==None or cur.next.next==None: breakpre = curcur = pre.nextlast = pre.next.nextreturn head.next

相关内容

热门资讯

志愿者的英语作文(精选6篇) 志愿者的英语作文 篇一Volunteering ExperienceI have always be...
英语作文带翻译(经典6篇) 英语作文带翻译 篇一:The Importance of Learning a Second Lan...
英语作文范文分享给朋友【实用... 英语作文范文分享给朋友 篇一:The Importance of ReadingAs an avid...
比较交友性格的好处英语作文【... 比较交友性格的好处英语作文 篇一The Benefits of Comparing Friendsh...
英语作文:Never giv... 英语作文:Never give up永不言弃 篇一Never give upPersistence ...
运动精神英语作文(推荐3篇) 运动精神英语作文 篇一:The Importance of SportsmanshipSportsm...
介绍长城的英语作文【精选4篇... Introducing the Great Wall of ChinaEssay OneThe Gr...
你会选择在家办公的工作吗英语... 你会选择在家办公的工作吗英语作文 篇一Title: Is Working from Home a G...
英语作文My hobby 英语作文My hobby(通用13篇)  在学习、工作、生活中,大家总少不了接触作文吧,借助作文人们...
世界杯英语作文【经典3篇】 世界杯英语作文 篇一Title: The Thrilling Spectacle of the Wo...
写共享单车的利与弊英语作文(... Writing 1: The Pros and Cons of Shared BicyclesSha...
中秋节的英语作文 关于中秋节的英语作文(精选6篇)  在学习、工作乃至生活中,大家都不可避免地会接触到作文吧,写作文可...
有趣的英语班作文【优质3篇】 有趣的英语班作文 篇一《我的英语学习之旅》我在学校里参加了一个有趣的英语班,这个班级给了我一个完全不...
英语范文摘抄初一37篇 英语范文摘抄初一 第一篇After the age of 13, I have come to th...
关于航空宇宙的范文英语【精彩... 关于航空宇宙的范文英语 篇一The Marvels of Aerospace Engineering...
英语作文:机器人的危害(实用... 英语作文:机器人的危害 篇一With the rapid development of techno...
七年级英语作文(实用6篇) 七年级英语作文 篇一The Importance of Learning EnglishEnglis...
《老友记》演员再聚首英语作文... 《老友记》演员再聚首英语作文 篇一Title: "Friends Reunion: A Nostal...
中国风俗习惯的英语作文(优秀... 中国风俗习惯的英语作文 篇一Title: Chinese Customs and Tradition...
高考英语作文模版 高考英语作文模版  英语高考作文应该怎么写呢?同学们可以适当运用模板,这样作文才会看起来条理清晰。以...