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

链表之leetcode19:删除链表的倒数第N个结点

删除链表的倒数第N个结点
题目描述

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
请添加图片描述
提示:

  • 链表中的结点的数目为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 dummyHead = new ListNode();dummyHead.next = head;// 可以使用两个指针,先让快指针往后移动n个位置,然后慢指针和快指针同时移动,直到快指针指向null,此时慢指针指向的是倒数第n个元素// 由于要删除元素,所以我们需要指向要删除元素的前一个元素// 所以可以将快指针再往后移动一个元素,也就是总共移动n+1个位置ListNode slow = dummyHead;ListNode quick = dummyHead;n++;while(n-- != 0) {quick = quick.next;}// 快慢指针同时移动while(quick != null) {slow = slow.next;quick = quick.next;}slow.next = slow.next.next;return dummyHead.next;}
}
http://www.dtcms.com/a/315613.html

相关文章:

  • LeetCode 71~90题解
  • 危化品运输误检率↓83%!陌讯多模态融合算法在油罐车识别的工程实践
  • 机器学习③【模型训练、K近邻算法(KNN)、贝叶斯算法(Navie Bayes)、模型调优】
  • 基于 Ubuntu 的 Linux 系统中 Vivado 2020.1 下载安装教程
  • Linux操作系统从入门到实战(十三)版本控制器Git基础概念讲解
  • Qwen Image:开源中文渲染SOTA,重塑文生图技术边界
  • Spring Boot 整合 Web 开发全攻略
  • 机器学习Adaboost算法----SAMME算法和SAMME.R算法
  • AI+OA原生应用 麦当秀AIPPT
  • Day34 GPU训练及类的call方法
  • 【ESP32学习笔记】环境搭建和HelloEsp32
  • GPS信号捕获尝试
  • C++ - 基于多设计模式下的同步异步日志系统(11w字)
  • 深入 Java 性能调优:一场没有枪声的实战旅程
  • 自然语言处理×第三卷:文本数据分析——她不再只是贴着你听,而开始学会分析你语言的结构
  • css3属性总结和浏览器私有属性
  • GPT-5的诞生之痛:AI帝国的现实危机
  • Dubbo-Go调Bug记录-泛化调用调不通
  • 软件测试中,pytest 框架如何运行上传失败的测试用例?
  • AWS EKS节点扩容时NLB与Ingress的故障处理与优化方案
  • Linux 系统启动原理2
  • 基于Hadoop的成都市二手房数据分析与房价预测系统的设计与实现
  • C++(线程)
  • 小米最新ASR音频大模型MiDashengLM
  • WPF 与 Winform :Windows 桌面开发该用谁?
  • linux查看kafka的消费组里是否有积压
  • 电路基础相关知识
  • 【宇树科技+智元机器人】人形机器人产业链核心标的
  • 云手机具有哪些用途?
  • 机器人权利:真实还是虚幻,机器人权利研究如何可能,道德权利与法律权利