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
相关推荐
2301_764441339 分钟前
三维建筑非法入侵情景推演
python·学习·算法
爱写代码的小朋友18 分钟前
21天学通Python全栈开发实战指南
开发语言·python
java1234_小锋18 分钟前
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 裁剪和矫正车牌
python·深度学习·cnn·车牌识别
唯道行21 分钟前
计算机图形学·19 Shadings in OpenGL
人工智能·算法·计算机视觉·几何学·计算机图形学·opengl
软件测试曦曦22 分钟前
使用Python接口自动化测试post请求和get请求,获取请求返回值
开发语言·自动化测试·软件测试·python·功能测试·程序人生·职场和发展
陈奕昆30 分钟前
n8n实战营Day2:复杂逻辑控制·HTTP请求+条件分支节点实操
网络·人工智能·python·网络协议·n8n
Aerelin36 分钟前
爬虫playwright中的等待机制
前端·爬虫·python
初夏睡觉39 分钟前
全排列题解
算法·深度优先·图论
卡比巴拉—林1 小时前
Python print()函数详讲
开发语言·python
在下赵某人1 小时前
概率数据结构的设计原理与误差分析
数据结构·算法·哈希算法