[力扣 Hot100]Day29 删除链表的倒数第 N 个结点

题目描述

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

出处

思路

两个指针间隔n,一趟遍历解决。

代码

cpp 复制代码
class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        ListNode* p=head;
        ListNode* q=head;
        while(n>0){
            q=q->next;
            n--;
        }
        if(!q){
            q=p->next;
            delete(p);
            return q;
        }
        q=q->next;
        while(q){
            p=p->next;
            q=q->next;
        }
        q=p->next;
        p->next=q->next;
        delete(q);
        return head;
    }
};
相关推荐
木井巳14 小时前
【递归算法】不同路径Ⅲ
java·算法·leetcode·深度优先
想带你从多云到转晴14 小时前
07、数据结构与算法---优先级队列(堆)与排序
java·数据结构·算法
吃好睡好便好14 小时前
在Matlab中绘制非默认峰值图
开发语言·学习·算法·matlab
sheeta199814 小时前
LeetCode 每日一题笔记 日期:2026.05.18 题目:1345. 跳跃游戏 IV
笔记·leetcode·游戏
Misnearch15 小时前
1345. 跳跃游戏 IV
java·leetcode·bfs
Huangjin007_15 小时前
【C++ STL篇(九)】map容器——零基础入门与核心用法精讲
开发语言·c++·算法
数智工坊15 小时前
【SigLIP论文阅读】:重新定义视觉-语言预训练的损失函数——VLA模型的“语言理解“基石
论文阅读·人工智能·算法·计算机视觉·语言模型
khalil102015 小时前
代码随想录算法训练营Day-53 图论01 | 110.字符串接龙、105.有向图的完全可达性、106.岛屿的周长
算法
IronMurphy15 小时前
【算法四十六】300. 最长递增子序列
算法
碧海银沙音频科技研究院15 小时前
高通QCC3084-QCC518X蓝牙耳机项目
人工智能·深度学习·算法