【Java 数据结构】面试题 02.02. 返回倒数第 k 个节点

 🔥博客主页🔥:【 坊钰_CSDN博客 】

欢迎各位点赞👍评论✍收藏⭐

目录

1. 题目

2. 解析

2.1 普通方法

2.1 快慢节点方法

3. 代码实现

3.1 普通方法

 3.2 快慢节点方法

4. 小结


 

1. 题目

实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。

注意:本题相对原题稍作改动

示例:

输入: 1->2->3->4->5 和 k = 2
输出: 4

说明:

给定的 k 保证是有效的。

2. 解析

2.1 普通方法

参考该博客:【Java 数据结构】链表的中间结点-CSDN博客

2.1 快慢节点方法

  • 先让块节点先走 K - 1 步,然后在块节点和慢节点一块走,当块节点到头,慢节点就是目标节点

3. 代码实现

3.1 普通方法

class Solution {public int kthToLast(ListNode head, int k) {int count = 0;ListNode ret = head;while (ret != null) {count++;ret = ret.next;}count = count - k;ret = head;while (count != 0) {ret = ret.next;count--;}return ret.val;}
}

 3.2 快慢节点方法

class Solution {public int kthToLast(ListNode head, int k) {ListNode fast = head;ListNode slow = head;int count = k - 1;while (count != 0) {fast = fast.next;count--;}while (fast.next != null) {fast = fast.next;slow = slow.next;}return slow.val;}
}

4. 小结

以上就是对该题的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持 

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

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

相关文章

如何在 Scrum 管理中化解团队冲突?

在Scrum管理中,团队协作是项目成功的关键。然而,团队冲突是难以避免的,尤其是在快速变化的敏捷环境中。如何有效处理团队冲突,不仅是Scrum Master需要面对的挑战,也是整个团队提升效率的机会。本文将围绕团队冲突的原因…

【QED】爱丽丝与混沌的无尽海

文章目录 题目题目描述输入输出格式数据范围测试样例 思路代码复杂度分析时间复杂度空间复杂度 题目 题目链接🔗 题目描述 如图所示,爱丽丝在一个3x3的迷宫之中,每个方格中标有 1 − 9 1-9 1−9各不相同的数字,爱丽丝可以从一格…

yii2 手动添加 phpoffice\phpexcel

1.下载地址:https://github.com/PHPOffice/PHPExcel 2.解压并修改文件名为phpexcel 在yii项目的vendor目录下创建一个文件夹命名为phpoffice 把phpexcel目录放到phpoffic文件夹下 查看vendor\phpoffice\phpexcel目录下会看到这些文件 3.到vendor\composer目录下…

排序算法之快速排序、归并排序

目录 快速排序归并排序的意义 快速排序 思维步骤 具体思想 测试样例解释 代码实现 归并排序 思维步骤 具体思想 测试样例解释 代码实现 快速排序归并排序的意义 快速排序和归并排序不仅仅是一种方法,更重要的是其作为一种算法而节省时间,在…

《信管通低代码信息管理系统开发平台》Windows环境安装说明

1 简介 《信管通低代码信息管理系统应用平台》提供多环境软件产品开发服务,包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发,满足其独特需求。无论是简单的应用还是复杂的系统&…

攻防世界web第三题file_include

<?php highlight_file(__FILE__);include("./check.php");if(isset($_GET[filename])){$filename $_GET[filename];include($filename);} ?>惯例&#xff1a; 代码审查&#xff1a; 1.可以看到include(“./check.php”);猜测是同级目录下有一个check.php文…

产品初探Devops!以及AI如何赋能Devops?

DevOps源自Development&#xff08;开发&#xff09;和Operations&#xff08;运维&#xff09;的组合&#xff0c;是一种新的软件工程理念&#xff0c;旨在打破传统软件工程方法中“开发->测试->运维”的割裂模式&#xff0c;强调端到端高效一致的交付流程&#xff0c;实…

初始 ShellJS:一个 Node.js 命令行工具集合

一. 前言 Node.js 丰富的生态能赋予我们更强的能力&#xff0c;对于前端工程师来说&#xff0c;使用 Node.js 来编写复杂的 npm script 具有明显的 2 个优势&#xff1a;首先&#xff0c;编写简单的工具脚本对前端工程师来说额外的学习成本很低甚至可以忽略不计&#xff0c;其…

Blender真实灰尘粒子动画资产预设 Dust Particles Pro V1.2

Dust Particles Pro V1.2 是一款为Blender 3.5.1及更高版本设计的实时程序化粒子资产&#xff0c;由Geometry Nodes提供支持。这款资产不需要安装&#xff0c;因为它不是一个Python插件。如果你对Blender的Geometry Nodes还不熟悉&#xff0c;那么这款资产将为你带来惊喜&#…

No.1免费开源ERP:Odoo自定义字段添加到配置页中的技术分享

文 / 开源智造&#xff08;OSCG&#xff09; Odoo亚太金牌服务 在Odoo18之中&#xff0c;配置设定于管控各类系统配置层面发挥着关键之效用&#xff0c;使您能够对软件予以定制&#xff0c;以契合您特定的业务需求。尽管 Odoo 提供了一组强劲的默认配置选项&#xff0c;然而有…

Python的安装过程和环境搭建(超详细过程)

目录 一、下载Python资源包 二、下载PyCharm资源包 三、配置Python环境 3.1 双击Python3.7.4文件&#xff08;建议右击以管理员身份打开&#xff09; 3.2 选择“Install Now”和勾选“Add Python 3.7 to Path” 3.3 出现该页面&#xff0c;进行等待 3.4 显示该页面表示…

THREE.js 入门(六) 纹理、uv坐标

一、uv坐标 相当于x、y轴&#xff0c;通过自定义uv坐标可以截取所需的纹理范围 <template><div id"container"></div> </template><script setup> import * as THREE from "three"; import { onMounted } from "vue&…

【星海随笔】删除ceph

cephadm shell ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause参考文献&#xff1a; https://blog.csdn.net/lyf0327/article/details/90294011 systemctl stop ceph-osd.targetyum re…

学习threejs,THREE.RingGeometry 二维平面圆环几何体

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.RingGeometry 圆环几…

【C语言】深入探讨 C 语言 `int` 类型大小及其跨平台影响

C 语言中 int 类型字节数的全面讲解 C 语言作为一种通用编程语言&#xff0c;其数据类型的大小由多种因素共同决定&#xff0c;而 int 类型作为最常用的整数类型之一&#xff0c;其字节数&#xff08;大小&#xff09;往往备受关注。本文将系统性地探讨 int 类型字节数的相关知…

Linux -- 互斥的底层实现

lock 和 unlock 的汇编伪代码如下&#xff1a; lock:movb $0,%alxchgb %al,mutexif(al 寄存器的内容>0)return 0;else挂起等待&#xff1b;goto lock;unlock:movb $1,mutex唤醒等待 mutex 的线程&#xff1b;return 0; 我们来理解以下上面的代码。 首先线程 1 申请锁&…

重温设计模式--4、组合模式

文章目录 1 、组合模式&#xff08;Composite Pattern&#xff09;概述2. 组合模式的结构3. C 代码示例4. C示例代码25 .应用场景 1 、组合模式&#xff08;Composite Pattern&#xff09;概述 定义&#xff1a;组合模式是一种结构型设计模式&#xff0c;它允许你将对象组合成…

R语言的下载、安装及环境配置(RstudioVSCode)

0x01 R语言篇 一、软件介绍 R for Windows是一个免费的用于统计计算和统计制图的优秀工具&#xff0c;是R语言开发工具。它拥有数据存储和处理系统、数组运算工具&#xff08;其向量、矩阵运算方面功能尤其强大&#xff09;、完整连贯的统计分析工具、优秀的统计制图等功能。…

windows和mac共享文件夹访问教程

mac共享文件夹&#xff0c;windows访问&#xff1a; mac上开启文件夹共享&#xff0c;并添加文件夹和用户&#xff0c;然后windows 上 在windows上快捷键 win r 打开运行&#xff0c;按如下格式输入mac设备的IP地址&#xff1a; 就可以访问了&#xff1a; windows共享文件夹…

More Effective C++之效率Efficiency_下

More Effective C之效率Efficiency 条款24&#xff1a;了解virtual function、multi inheritance、virtual base classes、runtime type identification的成本 条款24&#xff1a;了解virtual function、multi inheritance、virtual base classes、runtime type identification…