您现在的位置是:亿华云 > 域名
每日:删除链表倒数第 N 个结点
亿华云2025-10-08 23:33:36【域名】8人已围观
简介本文转载自微信公众号「三分钟学前端」,作者sisterAn。转载本文请联系三分钟学前端公众号。给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表:1->2-&g
本文转载自微信公众号「三分钟学前端」,每日作者sisterAn。删除转载本文请联系三分钟学前端公众号。链表
给定一个链表,倒数第N点删除链表的个结倒数第 n 个节点,并且返回链表的每日头结点。
示例:
给定一个链表: 1->2->3->4->5,删除 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:
给定的链表 n 保证是有效的。
进阶:
你能尝试使用一趟扫描实现吗?倒数第N点
解法:快慢指针
解题思路: 需要删除链表中的倒数第 n 个节点,我们需要知道的个结就是倒数第 n+1 个节点,然后删除删除倒数第 n+1 节点的每日后继节点即可
步骤:
使用 2 个指针:
fast 快指针提前走 n+1 步 slow 指针指向当前距离 fast 倒数第 n 个节点,源码库 初始为 head然后,删除 fast 、链表 slow 同步向前走,倒数第N点直到 fast.next 为 null
此时,个结fast 为最后一个节点,slow 就是倒数第 n+1 个节点,此时问题就变更为删除链表中的 slow 的后继节点
但存在一个问题,当链表长度为 n 时,fast 是前进不到 n+1 个节点位置的,所以此时有两种解决思路:
创建一个头节点 preHead ,设置 preHead.next = head ,这样就可以解决以上问题,删除倒数第 n 个节点后,返回的服务器托管 preHead.next 即可 另外一种是,fast 快指针提前走 n 步后,判断 fast.next 是否为 null ,即 fast 是否是最后一个节点,如果是,则 head 为倒数第 n 个节点,此时问题可以简化为删除头节点;如果不是, fast = fast.next ,fast 再前进一步,slow 为倒数第 n+1 个节点,也解决了以上问题。解决方案一:添加 preHead 节点
const removeNthFromEnd = function(head, n) { let preHead = new ListNode(0) preHead.next = head let fast = preHead, slow = preHead // 快先走 n+1 步 while(n--) { fast = fast.next } // fast、slow 一起前进 while(fast && fast.next) { fast = fast.next slow = slow.next } slow.next = slow.next.next return preHead.next };解决方案二:单独处理倒数第 n 节点
const removeNthFromEnd = function(head, n) { let fast = head, slow = head // 快先走 n 步 while(--n) { fast = fast.next } if(!fast.next) return head.next fast = fast.next // fast、云服务器提供商slow 一起前进 while(fast && fast.next) { fast = fast.next slow = slow.next } slow.next = slow.next.next return head };时间复杂度:O(n)
空间复杂度:O(1)
来源:https://github.com/sisterAn/JavaScript-Algorithms
很赞哦!(49579)
上一篇: 二、如何选择合适的域名
相关文章
- Status、Creation Date、Expiration Date
- 2021年,全球对数据中心的投资增加了一倍多
- 我们一起再聊数据中心网络
- 服务器被入侵了!我们该怎么办?
- 2. 不要花大价钱买域名,新手鉴别能力不足,容易投资失误。
- 让AI走进初创企业,NVIDIA Inception赋能科技创新
- 戴尔科技集团参与“HighPerf Ready”活动、并顺利通过高性能存储设备测试评估
- 大型数据中心设计的意义
- 只要我们做的是从目前的市场情况选择域名,从简单易记,从个性特征上,我们就可以找到一个好域名进行注册。域名注册进行域名记录和解析以及绑定网站后,客户可以通过URL登录您的网站。
- 新华三携手宁夏移动 拓宽数据西游路
热门文章
站长推荐
互联网其实拼的也是人脉,域名投资也是一个时效性很强的东西,一个不起眼的消息就会引起整个域名投资市场的动荡,因此拓宽自己的人脉圈,完善自己的信息获取渠道,让自己能够掌握更为多样化的信息,这样才更有助于自己的域名投资。
记一次利用GrayLog实现采集与备份云服务器Web访问日志的实现过程
5G 意味着数据中心平台必须发展
新的数据中心需求重塑企业应用交付
域名资源有限,好域名更是有限,但机会随时都有,这取决于我们能否抓住机会。一般观点认为,国内域名注册太深,建议优先考虑外国注册人。外国注册人相对诚实,但价格差别很大,从几美元到几十美元不等。域名投资者应抓住机遇,尽早注册国外域名。
西门子携手NVIDIA打造工业元宇宙,以沉浸式体验实现制造业转型
NVIDIA 与 Ampere Computing 携手创建用于云游戏的Arm 架构云原生服务器平台
图解网络:什么是 DNS 域名系统?