LeetCode.19.删除链表的倒数第n个节点

题目描述:

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

输入输出实例:

思路:这道题目我们可以用双指针来做,让first和second指针之间的距离为n+1,然后我们first和second指针都往后移动,这样当first所指的为最后一个节点的后一个(即空节点)的时候,我们的second刚好在倒数第n个节点的前一个节点,然后我们second.next = second.next.next,这样达到去除第n个节点的目的。根据上述思路我们有以下代码:

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 = ListNode()
        dummy.next = head
        first = dummy
        second = dummy

        for _ in range(n+1):
            first = first.next
        
        while first:
            first = first.next
            second = second.next

        second.next = second.next.next

        return dummy.next
相关推荐
凌界天行3 小时前
知名的无人机侦测肩灯制造厂名声
python
XZ-0700013 小时前
week10-直方图
python
外收内放4 小时前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi
PythonFun4 小时前
如何生成Python50天系列学习互动网页课件
python·wps
海清河晏1114 小时前
加油站问题
数据结构·算法·leetcode
垆边人似月.4 小时前
预处理与参数调优(让识别率从“能看”到“可用”)
开发语言·python·自然语言处理
gf13211114 小时前
python_高德地图驾车时长查询
数据库·python·mysql
镜子AI4 小时前
镜子AI技术实践:用 Python 做 GEO 答案的实体提及抽取与归一化(零依赖两阶段方案)
python·ai
I Am a robert girl4 小时前
从点到面:Superquadric 分解中“几何感知内点精修”的工程拆解
python·ransac·点云处理·三维感知·superquadric·几何基元拟合·内点判定
GG.WinGel4 小时前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯