(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;
    }
相关推荐
AbandonForce13 小时前
从入门到入土:二分查找算法
数据结构·算法
L_090713 小时前
【C++】数据结构之哈希表(散列表)
数据结构·c++·散列表
魔法阵维护师13 小时前
从零开发游戏需要学习的c#模块,第二十三章(粒子效果 —— 让游戏“活”起来本课目标)
学习·游戏·c#
仰泳之鹅13 小时前
【C语言】动态内存管理
c语言·数据结构·算法
Shan120513 小时前
三分查找经典实例分析与学习
学习
心中有国也有家13 小时前
CANN 学习新范式:cann-learning-hub 如何让昇腾入门不再「劝退」
人工智能·经验分享·笔记·学习·算法
LB211213 小时前
C++通讯录课设(西安石油大学)
开发语言·c++·算法
AI算法沐枫13 小时前
机器学习知识点:正则化
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
GISer_Jing13 小时前
前端全流程求职Skill 攻略
前端·学习·前端框架
手写码匠13 小时前
从零实现一个轻量级向量搜索引擎(Python 版)
人工智能·深度学习·算法·aigc