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
相关推荐
qq_141826973218 分钟前
python通过curl访问deepseek的API调用案例
java·数据库·python
chenyuhao202440 分钟前
链表的面试题4之合并有序链表
数据结构·链表·面试·c#
水水沝淼㵘2 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
红衣小蛇妖2 小时前
Python基础学习-Day23
开发语言·python·学习
莹莹学编程—成长记2 小时前
list基础用法
数据结构·list
Hello world.Joey3 小时前
数据挖掘入门-二手车交易价格预测
人工智能·python·数据挖掘·数据分析·conda·pandas
清幽竹客3 小时前
redis数据结构-09 (ZADD、ZRANGE、ZRANK)
数据结构·数据库·redis
刘延林.3 小时前
树莓5安装 PyCharm 进行python脚本开发
ide·python·pycharm
小洛~·~3 小时前
多模态RAG与LlamaIndex——1.deepresearch调研
人工智能·python·深度学习·神经网络·chatgpt
葵花日记3 小时前
数据结构——二叉树
c语言·数据结构