【CT】LeetCode手撕—19. 删除链表的倒数第 N 个结点

题目

  • 原题连接:19. 删除链表的倒数第 N 个结点

1- 思路

模式识别:删除倒数第 n 个结点 ——> 定义 dummyHead 并用双指针实现删除逻辑


2- 实现

⭐19. 删除链表的倒数第 N 个结点——题解思路

在这里插入图片描述

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {if(head==null){return head;}ListNode dummyHead = new ListNode(-1);dummyHead.next = head;ListNode fast = dummyHead;ListNode slow = dummyHead;for(int i = 0 ; i < n ; i++){fast = fast.next;}while(fast.next!=null){slow = slow.next;fast = fast.next;}slow.next = slow.next.next;return dummyHead.next;}
}

3- ACM实现

public class removeLastN {static class ListNode{int val;ListNode next;ListNode(){}ListNode(int x){val = x;}}public static ListNode removeLast(ListNode head,int n ){// 双指针ListNode dummyHead = new ListNode(-1);dummyHead.next = head;ListNode slow = dummyHead;ListNode fast = dummyHead;for(int i = 0 ; i < n ;i++){fast = fast.next;}while(fast.next!=null){slow = slow.next;fast = fast.next;}slow.next = slow.next.next;return dummyHead.next;}public static void main(String[] args) {Scanner sc  = new Scanner(System.in);System.out.println("输入链表长度");int n = sc.nextInt();System.out.println("输入链表元素");ListNode head = null,tail = null;for(int i = 0 ; i < n;i++){ListNode newNode = new ListNode(sc.nextInt());if(head==null){head = newNode;tail = newNode;}else{tail.next = newNode;tail = newNode;}}System.out.println("输入删除倒数第几个元素");int k = sc.nextInt();ListNode Res = removeLast(head,k);while(Res!=null){System.out.print(Res.val+" ");Res = Res.next;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React-Native优质开源项目

React Native 是一个由 Facebook 开发的开源框架&#xff0c;允许开发者使用 JavaScript 和 React 来构建原生移动应用。它允许开发者编写一次代码&#xff0c;然后可以在 iOS 和 Android 平台上运行&#xff0c;而无需为每个平台单独编写代码。以下是 React Native 的一些关键…

MySQL 高级SQL高级语句(二)

一.CREATE VIEW 视图 可以被当作是虚拟表或存储查询。 视图跟表格的不同是&#xff0c;表格中有实际储存数据记录&#xff0c;而视图是建立在表格之上的一个架构&#xff0c;它本身并不实际储存数据记录。 临时表在用户退出或同数据库的连接断开后就自动消失了&#xff0c;而…

LLM学习记录

概述 语言模型经历过四个阶段的发展&#xff0c;依次从统计语言模型到神经网络语言模型&#xff08;NLM&#xff09;&#xff0c;到出现以 BERT 和 Transformer 架构为代表的预训练语言模型&#xff08;PLM&#xff09;&#xff0c;最终到大型语言模型阶段&#xff08;LLM&…

数学建模比赛介绍与写作建议

0 小序 本文的写作起因是导师要求我给打算参加相关竞赛的师弟们做一次讲座和汇报。我梳理了一个ppt提纲&#xff0c;并经过整理&#xff0c;因此有了这篇文章。 我打算从数学建模论文写作格式和写作技巧入手&#xff0c;接着介绍数学建模常用的数学模型&#xff0c;最后提出一…

【数据结构(邓俊辉)学习笔记】二叉搜索树04——AVL树

文章目录 1.重平衡1.1 AVL BBST1.2 平衡因子1.3 适度平衡1.4 接口1.5 失衡 复衡 2. 插入2.1 单旋2.2 双旋2.3 实现 3. 删除3.1 单旋3.2 双旋3.3 实现 4. &#xff08;3 4&#xff09;-重构4.1 "34"重构4.2 "34"实现4.3 rotateAt4.4 综合评价 1.重平衡 1…

【Python】利用代理IP爬取当当网数据做数据分析

前言 在数字化浪潮的推动下&#xff0c;电商平台已经彻底改变了我们的购物方式。从简单的在线交易到复杂的用户交互&#xff0c;电商平台积累了海量的用户数据。这些数据&#xff0c;如同隐藏在深海中的宝藏&#xff0c;等待着被发掘和利用。通过分析用户的浏览、搜索、购买等行…

(4.2)Sourcegraph(Chrome插件)——github实现源码阅读

一、下载 下载方式参考&#xff1a;如何安装 Chrome 插件&#xff1f;以 Show_Rank 为例 下载链接一&#xff1a;从Chrome应用商店直接搜索&#xff0c;https://chromewebstore.google.com/detail/sourcegraph/dgjhfomjieaadpoljlnidmbgkdffpack?utm_sourceext_app_menu 如…

可燃气体报警器检测周期:企业安全管理体系中的关键环节

可燃气体报警器作为现代工业安全监测的重要工具&#xff0c;对于预防火灾、爆炸等安全事故起着至关重要的作用。 而检测周期的设置&#xff0c;直接关系到报警器的准确性和可靠性。 接下来&#xff0c;佰德将深入探讨可燃气体报警器检测周期的重要性&#xff0c;并通过案例分…

嫦娥六号成功带回月球背面土壤,嫦娥七号整装待发,2030年前实现载人登月!

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 嫦娥六号圆满成功 嫦娥六号任务是中国探月工程的一次重大成功&#xff0c;探测器于5月3日在中国文昌航天发射场发射升空并进入地月转移轨道。经…

Mini-Contract电子合同在线签署小程序源码

Mini-Contract电子合同在线签署小程序源码&#xff0c;采用的是uniapp Vue3框架搭建&#xff0c;只有前端源码是一个聚合市场上各类电子合同解决方案商的工具&#xff0c;让用户无需一个个对接电子合同厂商&#xff0c;节省时间和精力。该程序提供了简洁的代码和最新的技术栈&a…

隐私计算实训营第二期第12基于隐语的VisionTransformer框架

01 MPCViT&#xff1a;安全且高效的MPC友好型 Vision Transformer架构 总体框架&#xff1a; 首先分析了ViT产生较大延时的原因&#xff0c;思考能否去除这些操作。 然后&#xff0c;对比不同的注意力机制&#xff0c;发现它们中有的具有很好的效率&#xff0c;有的则具有很…

gin会话控制

一. 会话控制 1.1 介绍 HTTP是无状态的协议&#xff0c;不会记录用户的任何信息&#xff0c;服务器也不能记录浏览器的访问状态&#xff0c;也就是说服务器不能区分两次请求是否是同一个客户端发出的。Cookie是解决HTTP协议无状态的方案之一Cookie实际就是服务器保存在浏览器上…

2010-2022年 政府透明度指数报告整理

政府透明度指数报告是衡量政府透明度的重要工具&#xff0c;它由独立的评估机构或研究机构发布&#xff0c;用以反映政府在不同方面的表现。以下是对政府透明度指数报告的详细介绍&#xff1a; 数据简介 定义&#xff1a;政府透明度指数报告衡量的是政府在信息公开、政策制定…

Linux——/etc/passwd文件含义,grep,cut

/etc/passwd文件含义 作用 - 记录用户账户信息&#xff1a;共分为7段&#xff0c;使用冒号分割 含义 - 文件内容意义&#xff1a;账户名&#xff1a;密码代号x&#xff1a;UID&#xff1a;GID&#xff1a;注释&#xff1a;家目录&#xff1a;SHELL - 第7列/sbin/nologin&#x…

无人机赋能自然资源调查

确权 业务挑战 由于测绘人员难以到达现场&#xff0c;确权区域大&#xff0c;传统人工测绘覆盖 不全面&#xff0c;信息不完整 传统测绘成果单一&#xff0c;现场核实难度高&#xff0c;确权采集信息不对称 无人机优势 数据采集效率是人工的10倍以上&#xff0c;可自动将…

分布式限流:Spring Cloud Gateway 限流

分布式限流&#xff1a;Spring Cloud Gateway 限流 在现代微服务架构中&#xff0c;流量控制是一个至关重要的部分。分布式限流作为一种有效的流量控制手段&#xff0c;能够帮助我们保护系统不被突发的流量冲垮。Spring Cloud Gateway支持多种限流方式。 什么是分布式限流 分…

vivado VIO IP核

参考&#xff1a;pg159 VIO&#xff1a;可以模拟输入/输出功能&#xff0c;实时监视和修改FPGA中的信号&#xff0c;用于调试和验证&#xff0c;与ILA相比&#xff0c;VIO无需占用RAM资源。 VIO IP的输出对于FPGA内部逻辑是输入信号&#xff0c;可以在调试界面设置输入值&…

分享屏幕坐标和窗口通信

简介 实现功能&#xff0c;通过url传参选择扑克牌&#xff0c;桌面同时打开两个以上该窗口&#xff0c;扑克牌可以在窗口之间移动。 在线演示 屏幕坐标和窗口通信 实现代码 <!DOCTYPE html><html><head> <meta http-equiv"Content-Type" co…

html--橙色火箭404维护

<!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>系统维护通知</title><link rel"stylesheet" type"text/css" href"css/notice.css"/> </head> <body><div cla…

代码随想录——柠檬水找零(Leetcode860)

题目链接 贪心 class Solution {public boolean lemonadeChange(int[] bills) {if(bills[0] 10 || bills[0] 20 || bills[1] 20){return false;}int count5 1;int count10 0;for(int i 1; i < bills.length; i){if(bills[i] 5){count5;}if(bills[i] 10){count10;…