【LeetCode-简单】剑指 Offer 22. 链表中倒数第k个节点(详解)

news2024/9/22 7:40:47

题目

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。

例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。

题目地址:剑指 Offer 22. 链表中倒数第k个节点 - 力扣(LeetCode) 

方法:双指针距离法

定义双指针,一左一右,左右的距离为k,也就是从左指针数到右指针数k个节点,让这两个指针一起往后走,右指针走到底就返回左指针即可。

例如

 

 

 

 代码

class Solution {
    public ListNode getKthFromEnd(ListNode head, int k) {
        ListNode left = head;
        ListNode right = head;
        while (k > 1){
            right = right.next;
            k--;
        }
        while (right.next!=null){
            right = right.next;
            left = left.next;
        }
        return left;
    }
}

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

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

相关文章

2024年杭电MBA项目招生信息全面了解

2024年全国管理类硕士联考备考已经到了最火热的阶段,不少考生开始持续将注意力集中在备考的规划中!杭州达立易考教育整合浙江省内的MBA项目信息,为大家详细梳理了相关报考参考内容,方便大家更好完成择校以及针对性的备考工作。本期…

差异对比犀利手册:使用 Partial Diff 插件在 VSCode 中比较代码差异

简介: 在本教程中,我们将介绍如何在 Visual Studio Code(VSCode)编辑器中安装和使用 Partial Diff 插件来进行源代码文件的差异比较。Partial Diff 插件是一个强大且简单的工具,可以帮助你更容易地查看和理解代码的变…

14.2.2 【Linux】software, hardware RAID

磁盘阵列分为硬件与软件。所谓的硬件磁盘阵列是通过磁盘阵列卡来达成阵列的目的。磁盘阵列卡上面有一块专门的芯片在处理 RAID 的任务,因此在性能方面会比较好。在很多任务 (例如 RAID 5 的同位检查码计算) 磁盘阵列并不会重复消耗原本系统的…

“已停止访问该网页“ 解决流程,微信外部链接内容管理规范

登录手机管家官网 腾讯安全-网址安全中心 自行处理。 说明: 一直以来,微信致力于为用户提供绿色、健康的网络生态环境。 根据法律法规的规定,微信将落实“以安全为底线”的互联互通,为确保高质量的平台内容和良好的用户体验&a…

Multimodal Learning with Transformer: A Survey

Transformer多模态学习 Abstract1 INTRODUCTION2 BACKGROUND2.1 Multimodal Learning (MML)2.2 Transformers: a Brief History and Milestones2.3 Multimodal Big Data 3 TRANSFORMERS: A GEOMETRICALLY TOPOLOGICAL PERSPECTIVE3.1 Vanilla Transformer3.1.1 Input Tokenizat…

使用手机相机检测电脑屏幕刷新率Hz

使用手机相机检测电脑屏幕刷新率Hz 1、电脑打开https://www.testufo.com/frameskipping 2、相机专业模式:快门1/10、ISO自动,拍摄一张照片。120Hz至少要有12个亮块,50Hz至少有6个亮块。 更改刷新速率 1、选择 “开始>设置>系统>显示…

ARM64 常见汇编指令学习 10 -- 无符号位域提取指令 BFXIL

文章目录 BFXIL使用例子 BFXIL 有2种语法: BFXIL Wd, Wn, #lsb, #width ; 32-bit BFXIL Xd, Xn, #lsb, #width ; 64-bit从Wn 寄存器的第 lsb 位开始,提取 width 位,替换 Wd 寄存器的最低 width位,剩余高位不改变。 使用例子 假…

科技云报道:向量数据库:AI时代的下一个热点

科技云报道原创。 最近,又一个概念火了——向量数据库。 随着大模型带来的应用需求提升,4月以来多家海外知名向量数据库创业企业传出融资喜讯。 4月28日,向量数据库平台Pinecone宣布获得1亿美元(约7亿元)B轮融资&am…

DBeaver连MySQL库报错public key retrieval is not allowed

连接报错: public key retrieval is not allowed解决办法: 右击你连接的库进行编辑连接(或者直接按F4打开编辑) 然后点击驱动属性里面进行设置 找到allowPublicKeyRetrieval属性,把值由false改为true 注:连接成功后如…

Flutter 混合架构方案探索

得益于 Flutter 优秀的跨平台表现,混合开发在如今的 App 中随处可见,如最近微信公布的小程序新渲染引擎 Skyline 发布正式版也在底层渲染上使用了 Flutter,号称渲染速度提升50%。 在现有的原生 App 中引入 Flutter 来开发不是一件简单的事&a…

Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-manager、kube-scheduler

Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署(二)ETCD集群部署 Kubernetes高可用集群二进制部署(三)部署…

解密爬虫ip是如何被识别屏蔽的

在当今信息化的时代,网络爬虫已经成为许多企业、学术机构和个人不可或缺的工具。然而,随着网站安全防护的升级,爬虫ip往往容易被识别并屏蔽,给爬虫工作增加了许多困扰。在这里,作为一家专业的爬虫ip供应商,…

一文了解MySQL中的多版本并发控制作者

最近在阅读《认知觉醒》这本书,里面有句话非常打动我:通过自己的语言,用最简单的话把一件事情讲清楚,最好让外行人也能听懂。 也许这就是大道至简,只是我们习惯了烦琐和复杂。 希望借助今天这篇文章,能用…

关于DC电源模块的噪音问题

BOSHIDA 关于DC电源模块的噪音问题 BOSHIDA DC电源模块是广泛使用的电源模块,它在各个领域中都有应用,例如:电子设备、计算机、通讯等领域。然而,DC电源模块也存在一些噪音问题,这些噪音问题会影响到电子设备的正常运…

SW - 装配图用的组合零件的制作步骤

文章目录 SW - 装配图用的组合零件的制作步骤概述笔记END SW - 装配图用的组合零件的制作步骤 概述 一套相关零件做好后, 需要做装配体, 将零件都装上, 看看是否有纰漏. 如果不做总装图, 真不放心. 万一废了, 耽误的时间大把的. 做总装图的时间比做零件的2个星期比起来, 代价…

C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)

目录 sprintf与sscanf sprintf sscanf 文件的随机读写 fseek ftell rewind sprintf与sscanf 与之前学习过的进行对比: scanf 是针对标准输入的格式化输入语句 printf 是针对标准输出的格式化输出语句 fscanf 是针对所有输入流的格式化语句 fprintf 是针对所…

深度学习Redis(1):Redis内存模型

前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合…

opencv 39 -形态学梯度运算(膨胀图像减腐蚀图像) cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)

形态学梯度运算是用图像的膨胀图像减腐蚀图像的操作,该操作可以获取原始图像中前景图像的边缘。 例如,图 8-20 演示了形态学梯度运算。 从图 8-20 中可以看到,形态学梯度运算使用膨胀图像(扩张亮度)减腐蚀图像&#xf…

怎么把文字转成语音?这两种转换方法轻松转换

在疲劳时阅读变得困难时,可以通过语音听取信息,以减轻眼睛的压力。长时间的阅读可能会对眼睛造成一定的压力,甚至导致疲劳。将文字转换成语音可以让人们在疲劳时听取信息,减轻眼睛的压力,保护视力。怎么把文字转换成语…

Tcp的粘包和半包问题及解决方案

目录 粘包: 半包: 应用进程如何解读字节流?如何解决粘包和半包问题? ①:固定长度 ②:分隔符 ③:固定长度字段存储内容的长度信息 粘包: 一次接收到多个消息,粘包 应…