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

解题思路:

快慢指针

java 复制代码
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode dummy = new ListNode(-1);
        dummy.next = head;
        ListNode fast = dummy;
        ListNode slow = dummy;
        
        for (int i = 0; i < n; i++) {
            fast = fast.next;
        }
        while (fast.next != null) {
            fast = fast.next;
            slow = slow.next;
        }
        slow.next = slow.next.next;
        return dummy.next;
    }
}
相关推荐
colus_SEU3 分钟前
【编译原理笔记】2.1 Programming Language Basics
c++·算法·编译原理
人工智能培训11 分钟前
大模型-去噪扩散概率模型(DDPM)采样算法详解
算法
Excuse_lighttime15 分钟前
只出现一次的数字(位运算算法)
java·数据结构·算法·leetcode·eclipse
liu****15 分钟前
笔试强训(二)
开发语言·数据结构·c++·算法·哈希算法
无限进步_1 小时前
扫雷游戏的设计与实现:扫雷游戏3.0
c语言·开发语言·c++·后端·算法·游戏·游戏程序
qq_433554541 小时前
C++ 完全背包
开发语言·c++·算法
lingran__1 小时前
算法沉淀第二天(Catching the Krug)
c++·算法
im_AMBER2 小时前
杂记 15
java·开发语言·算法
爱coding的橙子2 小时前
每日算法刷题Day70:10.13:leetcode 二叉树10道题,用时2h
算法·leetcode·深度优先
ghie90903 小时前
基于MATLAB的遗传算法优化支持向量机实现
算法·支持向量机·matlab