(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;
    }
相关推荐
CoovallyAIHub2 分钟前
摄像头如何“看懂”你的手势?手势识别实现新人机交互
深度学习·算法·计算机视觉
我命由我123452 分钟前
Photoshop - Photoshop 工具栏(45)历史记录艺术画笔工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
d111111111d5 分钟前
STM32的ADC是什么,其转换精度通常有那些选项?
笔记·stm32·单片机·嵌入式硬件·学习
好奇龙猫9 分钟前
【大学院-筆記試験練習:数据库(データベース問題訓練) と 软件工程(ソフトウェア)(2)】
学习·大学院
菩提小狗10 分钟前
第1天:基础入门-操作系统&名词&文件下载&反弹SHELL&防火墙绕过|小迪安全笔记|网络安全|
网络·笔记·学习·安全·web安全
Q741_14715 分钟前
C++ 栈 模拟 力扣 394. 字符串解码 每日一题 题解
c++·算法·leetcode·模拟·
iconball15 分钟前
个人用云计算学习笔记 --31 华为云运维服务
运维·笔记·学习·华为云·云计算
AI科技星21 分钟前
张祥前统一场论:空间位移条数概念深度解析
数据结构·人工智能·经验分享·算法·计算机视觉
幺零九零零25 分钟前
压测-JMeter学习
学习·jmeter
Wuliwuliii25 分钟前
闵可夫斯基和、需存储的最小状态集
c++·算法·动态规划·闵可夫斯基和