leetcode-python-删除链表的倒数第 N 个结点

题目:

给你一个链表,删除链表的倒数第 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

解答:

python 复制代码
# 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_head = ListNode(0,head)
        # 设置一个快指针和一个慢指针均指向虚拟节点
        fast = slow = dummy_head
        # 使fast指针先走n+1步
        for i in range(n+1):
            fast = fast.next
        # 两个指针一起向前,当fast指针指向null时,跳出循环,此时slow指针指向倒数n+1节点
        while fast:
            fast = fast.next
            slow = slow.next
        # 改变slow指针关于下一个节点的指向
        slow.next = slow.next.next
        return dummy_head.next
相关推荐
Java后端的Ai之路9 小时前
Text-to-SQL与智能问数完全指南:基本概念、核心原理、Python实战教学及企业项目落地
数据库·python·sql·text-to-sql·智能问数
2301_782659189 小时前
如何使用Navicat连接云端MariaDB_白名单与实例配置
jvm·数据库·python
2301_8038756115 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_7436239215 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
三毛的二哥15 小时前
BEV:典型BEV算法总结
人工智能·算法·计算机视觉·3d
2501_9142459316 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
菜鸟学Python16 小时前
Python生态在悄悄改变:FastAPI全面反超,Django和Flask还行吗?
开发语言·python·django·flask·fastapi
南宫萧幕16 小时前
自控PID+MATLAB仿真+混动P0/P1/P2/P3/P4构型
算法·机器学习·matlab·simulink·控制·pid
<-->16 小时前
Megatron(全称 Megatron-LM,由 NVIDIA 开发)和 DeepSpeed(由 Microsoft 开发)
人工智能·pytorch·python·深度学习·transformer
测试199817 小时前
2026最新软件测试面试八股文【附文档】
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例