面试算法-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;
    }
}
相关推荐
阿芯爱编程3 小时前
2025前端面试题
前端·面试
今天背单词了吗9804 小时前
算法学习笔记:19.牛顿迭代法——从原理到实战,涵盖 LeetCode 与考研 408 例题
笔记·学习·算法·牛顿迭代法
jdlxx_dongfangxing5 小时前
进制转换算法详解及应用
算法
倔强青铜三5 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三5 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试
军军君016 小时前
基于Springboot+UniApp+Ai实现模拟面试小工具四:后端项目基础框架搭建下
spring boot·spring·面试·elementui·typescript·uni-app·mybatis
why技术6 小时前
也是出息了,业务代码里面也用上算法了。
java·后端·算法
2501_922895586 小时前
字符函数和字符串函数(下)- 暴力匹配算法
算法
IT信息技术学习圈7 小时前
算法核心知识复习:排序算法对比 + 递归与递推深度解析(根据GESP四级题目总结)
算法·排序算法
Alfred king7 小时前
面试150 LRU缓存
链表·缓存·哈希表·lru·双向链表