当前位置: 首页 > news >正文

LeeCode题库第十九题

项目场景:

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:[]

示例 3:

输入:head = [1,2], n = 1
输出:[1]

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz


问题描述

        这题通过初始化两个节点first和second,首先将first向后移动n次,这样两个节点之间就差n个节点,当first不为空时,一直向后移动两个节点,直至first为空,两者之间差n个,则second为倒数n+1个,second.next为倒数第n个,        second.next=second.next.next即可,最后返回头结点dummy.next,不返回head是因为如果n为1,head也会被改变,所以使用dummy虚拟节点,返回dummy.next。 

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:
        dummy=ListNode(0,head)
        first=head
        second=dummy
        for i in range(n):
            first=first.next
        while first:
                first=first.next
                second=second.next
        second.next=second.next.next
        return dummy.next

        本题提交情况。 

 

        以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光! 

相关文章:

  • 「软件设计模式」适配器模式(Adapter)
  • 使用 Ansys Fluent 进行电池热滥用失控传播仿真
  • 算法思考:位运算
  • CNN手写数字识别1——模型搭建与数据准备
  • 【C语言】移除元素
  • 代码随想录算法【Day47】
  • 解决`Illegal group reference: group index is missing`的两种方式
  • 【linux学习指南】⽣产者消费者模型
  • python电影数据分析及可视化系统建设
  • 深度学习在天文观测中的应用:解锁宇宙的奥秘
  • `fi` 是 Bash 脚本中用来结束 `if` 条件语句块的关键字
  • 数位dp入门详解
  • [Vivado报错] [Common 17-55]‘set_property‘ expects at least one object
  • 【数据库维护】Clickhouse数据库维护关键系统表相关指标说明,支撑定位慢SQL及多实例场景下分析各实例运行情况
  • 【Java基础-46.1】Java 中创建自定义泛型类及其应用
  • 【机器学习】常见采样方法详解
  • AtCoder - arc101_b Median of Medians 分析与解答
  • 2009年下半年软件设计师上午真题的知识点整理(附真题及答案解析)
  • Kubernetes-master 组件
  • 25/2/16 <算法笔记> MiDas原理
  • 红场阅兵即将开始!中国人民解放军仪仗队亮相
  • 国家主席习近平同普京总统签署关于进一步深化中俄新时代全面战略协作伙伴关系的联合声明
  • 妻子藏匿一岁幼儿一年多不让丈夫见,法院发出人格权侵害禁令
  • 明天起,沪苏湖高铁、杭温高铁推出13款新型票制产品
  • 又一日军“慰安妇”制度受害者去世,大陆登记在册幸存者仅剩7人
  • 各地各部门贯彻落实习近平总书记重要指示精神坚决防范遏制重特大事故发生