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
相关推荐
Adios7944 小时前
设置交集大小至少为2
数据结构·算法·leetcode
love530love5 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
cui_ruicheng7 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
_Jimmy_8 小时前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
用户8356290780518 小时前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
AC赳赳老秦10 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
来一碗刘肉面11 小时前
栈的应用(表达式求值)
数据结构·算法
FoldWinCard11 小时前
D6 Python 基础语法 --- 保留关键字
开发语言·python
暮暮祈安11 小时前
Celery 新手入门指南
java·数据库·python·flask·httpx
JustNow_Man11 小时前
每日高频场景英文口语
python