当前位置: 首页 > article >正文

力扣19 删除链表的倒数第N个节点 Java版本

文章目录

  • 题目描述
  • 代码


题目描述

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

示例 1:
在这里插入图片描述

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

输入:head = [1], n = 1
输出:[]
示例 3:

输入:head = [1,2], n = 1
输出:[1]

提示:

链表中结点的数目为 sz
1 <= sz <= 30
0 <= Node.val <= 100
1 <= n <= sz

进阶:你能尝试使用一趟扫描实现吗?

代码

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {

        ListNode fast = head;
        //因为有可能头节点就是要被删除的节点,所以设置了个虚拟头节点来记录头节点的位置
        ListNode dummyHead = new ListNode(0);
        ListNode pre = dummyHead;
        pre.next = head;
        //先让fast走n步,然后再让fast和pre同时一步步走,
        // 当fast走完的时候pre的下一个位置就是要被删除的倒数第n个节点
        for (int i = 0; i < n; i++) {
            fast = fast.next;
        }
        while (fast!=null){
            fast = fast.next;
            pre = pre.next;
        }
        pre.next = pre.next.next;
        return dummyHead.next;
    }
}

http://www.kler.cn/news/321571.html

相关文章:

  • eBPF系列:开发流程
  • 【HarmonyOS】鸿蒙仿iOS线性渐变实现
  • 如何像专家一样修复任何 iPhone 上的“iPhone 已禁用”错误
  • 【Go】Go语言切片(Slice)深度剖析与应用实战
  • chsharp文件如何查找在unity中使用的 位置?
  • 【React】组件通信
  • docker windows下清理后,磁盘空间未释放原因及解决方法
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-27
  • Linux之我不会
  • 【stm32】TIM定时器输出比较-PWM驱动LED呼吸灯/舵机/直流电机
  • 使用Ruby进行视频内容的自动化分析
  • springboot+大数据基于数据挖掘的招聘信息可视化大屏系统【内含源码+文档+部署教程】
  • 调用飞书接口导入供应商bug
  • 高级java每日一道面试题-2024年9月26日-运维篇[分布式篇]-如何保证每个服务器的时间都是同步的?
  • 【vue-media-upload 升级玩法】一个页面用两个Uploader,一个上传图片,一个上传视频(分开传,容易分开设置和展示图片和视频)
  • 解决远程连接AlpineLinux Mysql/MariaDB 无法连接的问题
  • FortiGate 无线组网
  • 深度学习:卷积神经网络CNN
  • css div固定位置 div固定高度 文本固定高度 超出滚动
  • liunxcentos7下 跟目录空间不足docker load镜像报错空间不足
  • 泛型(Java)
  • 【稳定且高效的分治排序 —— 归并排序算法】
  • 【传感器技术】【第1章 传感器与检测技术的理论基础,测量系统,测量分类,误差分析,估计和处理】
  • 25:stm32的低功耗模式
  • FastAPI 第五课 -- 基本路由
  • 63.HDMI显示器驱动设计与验证-彩条实验
  • LeetCode142. 环形链表 II(2024秋季每日一题 28)
  • 付费和免费代理IP工具的区别大吗?
  • 深度学习中的正则化和归一化
  • JWT令牌技术介绍及使用