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
相关推荐
Sunsets_Red15 分钟前
2025 FZYZ夏令营游记
java·c语言·c++·python·算法·c#
guslegend18 分钟前
第2章:LangChain大模型工具开发(Agent工具能力)
python
草帽lufei24 分钟前
Ubuntu中为AI Agent相关开发配置Python环境
python·agent·ai编程
Daily Mirror28 分钟前
Day41 Grad-CAM 与 Hook 函数
python
阿凡达蘑菇灯34 分钟前
pycharm 中 终端环境与解释器环境不一致 解决办法
ide·python·pycharm
luoluoal34 分钟前
基于python的RSA算法的数字签名生成软件(源码+文档)
python·mysql·django·毕业设计
@zulnger37 分钟前
Python 连接 MySQL 数据库_pymysql
数据库·python·mysql
培培说证42 分钟前
2026大专Java开发工程师,考什么证加分?
java·开发语言·python
深蓝海拓1 小时前
PySide6从0开始学习的笔记(十) 样式表(QSS)
笔记·python·qt·学习·pyqt
小鸡吃米…1 小时前
Python - 类属性
java·前端·python