面试算法-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;
    }
}
相关推荐
【杨(_> <_)】1 天前
SAR信号处理重要工具-傅里叶变换(二)
算法·信号处理·傅里叶分析·菲涅尔函数
怎么没有名字注册了啊1 天前
爬动的蠕虫
算法
取酒鱼食--【余九】1 天前
机器人学基础(一)【坐标系和位姿变换】
笔记·算法·机器人·开源·机器人运动学·机器人学基础
晨非辰1 天前
【面试高频数据结构(四)】--《从单链到双链的进阶,读懂“双向奔赴”的算法之美与效率权衡》
java·数据结构·c++·人工智能·算法·机器学习·面试
im_AMBER1 天前
数据结构 03 栈和队列
数据结构·学习·算法
凸头1 天前
以AtomicInteger为例的Atomic 类的底层CAS细节理解
java·jvm·算法
Hilaku1 天前
技术Leader的“第一性原理”:我是如何做技术决策的?
前端·javascript·面试
渣哥1 天前
面试高频:Spring 事务传播行为的核心价值是什么?
javascript·后端·面试
前端小刘哥1 天前
赋能在线教育与企业培训:视频直播点播平台EasyDSS视频点播的核心技术与应用实践
算法
吗~喽1 天前
【LeetCode】四数之和
算法·leetcode·职场和发展