[力扣 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;
    }
};
相关推荐
文丑颜不良啊13 小时前
LeetCode1721~1740题目解析
java·leetcode
地平线开发者13 小时前
CLIP 的训练机制:从对比学习到图文对齐
深度学习·算法·自动驾驶
hetao173383713 小时前
2026-11-02 hetao1733837 的刷题记录
c++·算法
Geektec13 小时前
IMU 选型完全指南:从硬件参数到算法融合的系统工程视角
算法·imu·陀螺仪·加速度计·元器件选型
CQU_JIAKE13 小时前
11.2【A】
算法
文丑颜不良啊14 小时前
LeetCode1681~1700题目解析
java·leetcode
Godspeed Zhao14 小时前
从零开始学AI21——决策树
算法·决策树·机器学习
开开心心就好14 小时前
网页图片批量下载工具,输入链接就保存
服务器·算法·leetcode·支持向量机·pdf·ocr·1024程序员节
圣保罗的大教堂14 小时前
leetcode 462. 最小操作次数使数组元素相等 II 中等
leetcode
starzy199015 小时前
Scala List操作:不可变链表的函数式美学
链表·list·scala