寻找倒数第K个节点

news2024/12/25 9:33:21

这篇文章也是凑数的 ...

寻找倒数第K个节点

描述 :

找出单向链表中倒数第 k 个节点。返回该节点的值。

题目 :

LeetCode 返回倒数第K个节点 : 

面试题 02.02. 返回倒数第 k 个节点

 说明 : 给定的 k 保证是有效的。

分析 :

我们给出个例子 :

首先,我们创建两个指针p1和p2,p1指向链表的头节点,p2指向链表的正数第k个节点(也就是例子中的第3个节点):

此时,由于p2指向链表的尾节点,且p1和p2的距离是k-1,因此p1所指的节点就是我们要寻找的链表倒数第k个节点:

显然,这个方法从头到尾只需要对链表做一次遍历,而且仅仅使用了两个指针,算法的空间复杂度是O(1)。

解析 :

LeetCode

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * } 
 */
//LeetCode
class Solution {
    public int kthToLast(ListNode head, int k) {
        ListNode newNode = new ListNode(-100);
        newNode.next = head;
        ListNode slow = newNode;
        ListNode fast = newNode;
        for(int i = 0 ;i < k ;i++){
            fast = fast.next;
        }

        while(fast != null){
            slow = slow.next;
            fast = fast.next;
        }
        return slow.val;
    }
}

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

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

相关文章

Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/134106510 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

ubuntu安装tinycudann

tinycudann几乎是nerf开发环境必备的条件之一。在测试sdfstudio和nerfstudio都需要安装tinycudann。按照官方的操作步骤&#xff0c;最简单的安装步骤为&#xff1a; pip install githttps://github.com/NVlabs/tiny-cuda-nn/#subdirectorybindings/torch常见会出现如下两个问…

requests之post请求实例-百度翻译

视频版教程&#xff1a;一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 打开百度翻译网址&#xff0c;我们输入需要翻译的英文&#xff0c;谷歌 F12 打开开发者工具&#xff0c;network可以看到网络请求&#xff0c;我们需要找到请求的API&#xff0c;…

Git 提交时提示 GPG 签名错误

本来应该一切都是正常的&#xff0c;但今天提交的时候提示 GPG 签名错误。 错误的信息就是 GPG 签名失败。 gpg: skipped "942395299055675C": No secret key gpg: signing failed: No secret key error: gpg failed to sign the data fatal: failed to write commi…

PicGo+雨云ROS搭建自己的图床,可配合Typora使用

本文将手把手带你使用 PicGo雨云对象存储ROS(Rain Object Storage) 搭建自己专属的免费图床&#xff0c;并且可以配合Typora使用。 雨云对象存储服务介绍和使用教程&#xff1a;https://blog.zeruns.tech/archives/733.html 目前雨云对象存储是公测阶段&#xff0c;暂时是免费…

NeurIPS 2023 | 连接多模态对比表征:无需配对数据的高效对比表征学习方法

©PaperWeekly 原创 作者 | 王泽寒 单位 | 浙江大学 研究方向 | 多模态学习 论文地址&#xff1a; https://arxiv.org/abs/2305.14381 项目主页&#xff1a; https://c-mcr.github.io/C-MCR/ 模型&代码地址&#xff1a; https://github.com/MCR-PEFT/C-MCR 多模态对比表…

IconWorkshop中文官方版下载_IconWorkshop最新版下载v6.91汉化破解版下载

IconWorkshop 6.91是由Axialis公司出品的一款专业图标创作工具。它能够为所有版本的Windows&#xff0c;MacOS&#xff0c;iOS和Linux制作您自己的专业图标。兼容Visual Studio&#xff0c;Photoshop和Illustrator等开发行业标准。软件内置了不少滤镜&#xff08;模糊、平滑、锐…

CTFHub | MySQL流量、Redis流量、MongoDB流量的WriteUp

文章目录 MySQL流量题目题解 Redis流量题目题解 MongoDB流量题目题解 数据库类流量题需要用到Wireshark截取数据包&#xff0c;然后进行分析。 WireShark是非常流行的网络封包分析工具&#xff0c;可以截取各种网络数据包&#xff0c;并显示数据包详细信息。常用于开发测试过程…

算法刷题记录6 - 反转链表和链表两两交换

哎&#xff0c;都两周没刷题了&#xff0c;罪过 第一题 2023.10.29 周日 上链接 206. 反转链表 难度&#xff1a;简单 代码随想录 文档 代码随想录 视频 这道题说难不难&#xff0c;但是也不知道是太久没写没感觉了还是确实细节多&#xff0c;不看视频确实感觉不出写的问题在…

GEE错误——影像加载过程中出现的图层无法展示的解决方案

问题&#xff1a; // I dont know if some standard value exists for the radius, in the same, I will assume that some software would prefer to use square shape, but circle makes more sense to me. // pixels is noice if you want to zoom in and out to visualize…

Redis实现分布式锁之----超时和失效(非原子性)问题----解决方案

Redis实现分布式锁之----超时和失效&#xff08;非原子性&#xff09;问题----解决方案 超时和失效&#xff08;非原子性&#xff09;问题 原子性问题&#xff1a;上锁时存入线程名称&#xff0c;删除时要先判断锁内的名称是不是自己的&#xff0c;是再删除&#xff0c;但是后…

软件测试---边界值分析(功能测试)

选取正好等于、刚好大于、刚好小于边界的值作为测试数据 上点: 边界上的点 (正好等于)&#xff1b;必选(不考虑区开闭) 内点: 范围内的点 (区间范围内的数据)&#xff1b;必选(建议选择中间范围) 离点: 距离上点最近的点 (刚好大于、刚好小于)&#xff1b;开内闭外(考虑开…

常见面试题-MySQL专栏(二)

了解索引扫描吗&#xff1f; 答&#xff1a; MySQL有两种方法生成有序结果&#xff1a; 通过排序操作按照索引顺序扫描 如果 explain 出来的 type 列值为 “index” 的话&#xff0c;说明是按照索引扫描了。 索引扫描本身的速度是很快的。但是如果索引不能覆盖查询所需的全…

【每日一题】H 指数 II

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;二分查找 写在最后 Tag 【二分查找】【数组】【2023-10-30】 题目来源 275. H 指数 II 题目解读 本题与 274. H 指数 题目一致&#xff0c;只是加强了一下条件&#xff0c;数组是有序的。 解题思路 方法一&#xff…

【Docker】如何查看之前docker run命令启动的参数

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…

如何高效制作视频滚动字幕:批量剪辑攻略

在视频制作过程中&#xff0c;添加滚动字幕是常见且重要的环节。它不仅可以帮助传达信息&#xff0c;还能增强视频的观感体验。然而&#xff0c;对于需要大量制作字幕的视频&#xff0c;逐一添加字幕无疑会浪费大量时间和精力。因此&#xff0c;本文将为你介绍运用云炫AI智剪制…

1.让数组动起来

概述 对数组进行分析&#xff0c;目标如下 线性表的概念数组的存储结构数组查询&#xff0c;插入&#xff0c;删除操作的特点及对应的时间复杂度刷题(盛最多水的容器) 线性表 在数据结构中&#xff0c;数据的逻辑结构分为线性结构和非线性结构 线性结构: n个数据元素有序集合…

在 Visual Studio 中远程调试 C++ 项目

目录 一、说明二、下载远程工具1. 官网下载2. 自己电脑上拷贝 三、 运行远程工具四、本机Visual Studio配置五、自动部署 一、说明 参考官方文档&#xff1a;https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-cpp?viewvs-2022 二、下载远程工具 …

【C语言】calloc()函数详解(动态内存开辟函数)

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 一.calloc()函数简介 我们先来看一下cplusplus.com - The C Resources Network网站上calloc()函数的基本信息&#xff1a; 1.函数功能 可以看到,calloc()函数的功能是:为num个大…

FastAPI框架学习笔记(快速入门FastAPI框架)

1. 写在前面 今天整理一篇后端框架的笔记&#xff0c; fastapi框架是比较主流的后端异步web框架&#xff0c;关键是python语言可以写&#xff0c;正好公司最近安排了一些后端服务的活&#xff0c; 所以就看了一个fastapi框架的入门课程(链接在底部)&#xff0c;完成任务&#…