[力扣 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;
    }
};
相关推荐
今儿敲了吗6 小时前
算法复盘——前缀和
笔记·学习·算法
ulias2127 小时前
智能指针简述
开发语言·c++·算法
寻寻觅觅☆7 小时前
东华OJ-基础题-58-素数表(C++)
开发语言·c++·算法
AI成长日志7 小时前
【强化学习专栏】深度拆解:多智能体强化学习核心理论与工程实践
算法
Flying pigs~~7 小时前
基于TF_IDF和Bagging的文本分类全过程
算法·随机森林·机器学习·nlp·文本分类
树獭叔叔7 小时前
FFN 激活函数深度解析:从 ReLU 到 SwiGLU 的演进之路
算法·aigc·openai
啊我不会诶7 小时前
最小生成树
c++·笔记·学习·算法
liuyao_xianhui7 小时前
优选算法_栈_删除字符中的所有相邻重复项_C++
开发语言·数据结构·c++·python·算法·leetcode·链表
老虎06277 小时前
LeetCode热题100 刷题笔记(第三天)链表 「两数相加」
笔记·leetcode·链表
WolfGang0073217 小时前
代码随想录算法训练营 Day22 | 回溯算法 part04
数据结构·算法