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
相关推荐
带多刺的玫瑰6 分钟前
Leecode#29刷题之两数相除
java·python·算法
smj2302_796826527 分钟前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode
午彦琳12 分钟前
2026.9.9
数据结构·算法·leetcode
卷无止境12 分钟前
AI Agent编程中,重构节奏与安全检查的门道
后端·python
慧都小妮子18 分钟前
用 Python 批量把 PDF 参考文献排成 MLA 格式:Spire.Doc for Python 实战
python·pdf·c#·spire.doc·mla格式·参考文献排版·pdf批量处理
卷无止境26 分钟前
AI编程时代,代码复杂性正在悄悄失控
后端·python
开源量化GO33 分钟前
看到“2026年 Python 与 API”时,用示例和拆解看清关系
人工智能·python
高洁0138 分钟前
大模型是怎么“学会“的:预训练、微调、对齐三段论
python·深度学习·transformer·知识图谱·tornado
529宝宝起名网41 分钟前
用 Python 开发名字五行八字匹配工具:从八字排盘到喜用神起名的全流程实现
python
砚底藏山河1 小时前
并发与限频工程:把20只的2秒压到0.5秒不封号(魔码量化实战 #03)
java·开发语言·数据库·python·金融