面试算法-162-删除链表的倒数第 N 个结点

题目

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1:

输入:head = [1,2,3,4,5], n = 2

输出:[1,2,3,5]

java 复制代码
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode dummy = new ListNode(0);
        dummy.next = head;
        ListNode p1 = dummy;
        ListNode p2 = dummy;
        for (int i = 0; i < n; i++) {
            p2 = p2.next;
        }

        while (p2 != null && p2.next != null) {
            p1 = p1.next;
            p2 = p2.next;
        }
        p1.next = p1.next.next;
        return dummy.next;
    }
}
相关推荐
mit6.8241 小时前
[Lc_week] 447 | 155 | Q1 | hash | pair {}调用
算法·leetcode·哈希算法·散列表
jerry6092 小时前
优先队列、堆笔记(算法第四版)
java·笔记·算法
勤劳的牛马2 小时前
📚 小白学算法 | 每日一题 | 算法实战:加1!
算法
Epiphany.5562 小时前
基于c++的LCA倍增法实现
c++·算法·深度优先
独立开阀者_FwtCoder3 小时前
TypeScript 是怎么工作的?一文带你深入编译器内部流程
前端·javascript·面试
一只码代码的章鱼3 小时前
学习笔记2(Lombok+算法)
笔记·学习·算法
独立开阀者_FwtCoder3 小时前
前端自适应方案全面解析:打造多端适配的现代网页
前端·javascript·面试
zayyo3 小时前
Web 应用轻量化实战
前端·javascript·面试
jerry6093 小时前
c++流对象
开发语言·c++·算法
lovebugs4 小时前
Redis的高性能奥秘:深入解析IO多路复用与单线程事件驱动模型
redis·后端·面试