力扣:19.删除链表的倒数第 N 个结点

cpp 复制代码
class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        ListNode *dummy = new ListNode( 0 );
        dummy->next = head;
        ListNode *fast = dummy;
        ListNode *slow = dummy;
        for ( int i = 0; i < n + 1; i++ ) {
            fast = fast->next;
        }
        while ( fast != nullptr ) {
            fast = fast->next;
            slow = slow->next;
        }
        ListNode *del = slow->next;
        slow->next = slow->next->next;
        delete del;
        return dummy->next;
    }
};
  1. 删除倒数第 N 个结点;
  2. 先让 fast 领先 N + 1 个单位,当 fast 为空,slow 和 fast 中间隔了 N 个结点,slow 是待删除结点的前驱;
  3. slow 的后继指向后继的后继,然后删除后继,释放内存。
相关推荐
地平线开发者19 分钟前
QAT 实战:从 PyTorch 模型到 J6E 实板精度与延时验证
pytorch·算法·自动驾驶
IT星宿20 分钟前
github-gravity:用 Rapier2D 把 GitHub 贡献图做成 SVG 物理动画
算法·github
♡すぎ♡1 小时前
SWE 的基本条件
算法·swe·浅水模拟
郝学胜-神的一滴2 小时前
AI 编程智能体 17:四步搞定专属AI智能体
大数据·人工智能·python·神经网络·算法·langchain·强化学习
微尘hjx3 小时前
【StrongSort 03】多轨迹算法StrongSort改进点
人工智能·算法·yolo·视觉检测·ultralytics·strongsort·轨迹算法
梦帮科技3 小时前
QML-04-QGraph-Diff:量子非欧图扩散生成模型与 SE(3) 等变分子晶格逆向合成完整技术指南(上部分)
人工智能·算法·自动化·量子计算·傅里叶分析
七牛开发者3 小时前
TokenGate:端到端可训练的 Token 剪枝机制,让大模型 Prefill 提速 11.3 倍
算法·机器学习·剪枝·长上下文·tokengate
牧瀬クリスだ4 小时前
Redis Hash实战:高效存储对象与购物车
java·数据库·redis·算法·哈希算法
文丑颜不良啊4 小时前
LeetCode1141~1160题目解析
java·leetcode