[力扣 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;
    }
};
相关推荐
wyiyiyi3 分钟前
【数据结构+算法】非递归遍历二叉树的理解
大数据·数据结构·笔记·算法·leetcode·数据分析
fashion 道格6 分钟前
从地图导航到数据结构:解锁带权有向图的邻接链表奥秘
c语言·数据结构·链表
2401_8933266210 分钟前
力扣1971.寻找图中是否存在路径
算法·leetcode·职场和发展
zs宝来了19 分钟前
HOT100-技巧类型题
数据结构·算法
Ayanami_Reii19 分钟前
进阶数据结构-FenwickTree
数据结构·算法·树状数组·fenwick tree
爪哇部落算法小助手25 分钟前
每日两题day59
数据结构·c++·算法
Brduino脑机接口技术答疑34 分钟前
脑机接口数据处理连载(二) 数据源头解析:脑电信号的采集原理与数据特性
人工智能·python·算法·数据分析·脑机接口
吃着火锅x唱着歌40 分钟前
LeetCode 1010.总持续时间可被60整除的歌曲
算法·leetcode·职场和发展
风筝在晴天搁浅40 分钟前
代码随想录 198.打家劫舍
算法
py有趣1 小时前
LeetCode算法学习之旋转矩阵
学习·算法·leetcode