(leetcode学习)19. 删除链表的倒数第 N 个结点

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

示例 1:

复制代码
输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

示例 2:

复制代码
输入:head = [1], n = 1
输出:[]

示例 3:

复制代码
输入:head = [1,2], n = 1
输出:[1]

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz

**进阶:**你能尝试使用一趟扫描实现吗?

不是很懂为什么大佬会用一个假的头节点,防止快指针为NULL吗?

cpp 复制代码
ListNode* removeNthFromEnd(ListNode* head, int n) {
        ListNode* fast = head;
        ListNode* slow = head;
        while(n--) fast=fast->next;
        if(fast == NULL) return head->next;

        while(fast->next != NULL){
            fast = fast->next;
            slow = slow->next;
        }
        slow->next = slow->next->next;
        return head;
    }
相关推荐
爱倒腾的老唐2 小时前
0、元器件——电阻
学习
sunshine22 girl3 小时前
Java学习七 Java 项目实战2-注册业务
java·学习
奋发向前wcx3 小时前
CSP-J复赛模拟赛4 王晨旭补题 2026.10.5
算法
sunshine22 girl4 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
传奇开心果编程5 小时前
【SwiftUI提高练中学】第8课 网络层架构:拦截器、重试、缓存与离线优先
学习·macos·ui·ios·swiftui
一条破秋裤5 小时前
内核驱动的意义与课程学习规划
学习
念何架构之路6 小时前
zap采样器与性能优化内幕
算法·性能优化·哈希算法
Bug收容所6 小时前
学习LangChain day1
学习·langchain·llm·agent
传奇开心果编程6 小时前
【现代声明式UI学与练】第7课 组件通信——父传子、子传父、跨层级通信、状态提升与 Context
学习·flutter·react native·ui·swiftui·android jetpack
晒太羊的猫6 小时前
hot100动态规划刷题
算法·动态规划