单链表中求倒数第几个节点

2023-11-17

问题描述

在单链表中求出倒数第K个节点,要求快速。

方法一:利用链表的长度(不推荐)

此方法必须事先知道链表的长度,在有长度的信息链表中,此方法可行。
比如我之前的链表是这样的实现,参考博文:http://blog.csdn.net/dawn_after_dark/article/details/73610674此链表含有头节点,头节点含有长度信息,所以我们可以充分运用长度信息。先让指针指向第一个节点,然后head->value(链表的长度)-k,即可求出要走到倒数第K个需要走几步。

Node* findKthNode(int); //返回倒数第K个

实现

Node* LinkList::findKthNode(int k) {
    Node* first = head->next;
    if (k <= 0 || k > head->value) {
        cout <<
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单链表中求倒数第几个节点 的相关文章

  • 华为OD机试 - 解密犯罪时间(Java)

    题目描述 警察在侦破一个案件时 得到了线人给出的可能犯罪时间 形如 HH MM 表示的时刻 根据警察和线人的约定 为了隐蔽 该时间是修改过的 解密规则为 利用当前出现过的数字 构造下一个距离当前时间最近的时刻 则该时间为可能的犯罪时间 每个
  • 2023/2/14 大数据实习日志

    今日学习内容 一 VMware虚拟机安装部署CentOS7 链接 VMware虚拟机安装部署CentOS7 Moba远程连接 克隆 步骤 二 Docker入门 第一章内容 什么是docker 为什么使用docker docker与虚拟化 牛
  • 数据结构 严薇敏 顺序表的实现(增 删 改)及其使用方法详解

    时间复杂度 数据结构 时间复杂度和空间复杂度 目录 1 线性表 2 顺序表 2 1概念及结构 2 2 接口实现 SeqList h SeqList c 2 2 1初始化链表以及销毁链表的实现 初始化顺序表 销毁顺序表 2 2 2查找元素前驱
  • C++中的.和->

    C 中的 和 gt 1 C 中的点 的应用 如果是一个对象或者引用去调用成员变量或者成员函数函数的话 会使用到点 include
  • 如何根据链表节点数据大小对链表节点进行排序

    对链表排序有两种方法 1 比较了两个节点的大小后 对指针进行改变 从而交换节点的顺序 2 比较了两个节点的大小后 只交换数据域 而不改变指针 从而交换节点的顺序 第二种办法比较简单 本文主要对第二种方法进行讲解 链表节点排序算法 采用 冒泡
  • C++中ListNode线性链表的定义及其使用方法(Leedcode两数相加题目)

    1 ListNode线性链表定义 struct ListNode int val ListNode next ListNode val 0 next NULL ListNode int x val x next NULL ListNode
  • leetcode 142.环形链表2

    leetcode 142 环形链表2 给定一个链表的头节点 head 返回链表开始入环的第一个节点 如果链表无环 则返回 null 如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环 为了表示给定链表中的环 评测
  • 【Java 数据结构】单链表与OJ题

    篮球哥温馨提示 编程的同时不要忘记锻炼哦 暮色降临 冲一杯咖啡 目录 1 什么是链表 2 实现一个单向非循环链表 2 1 实现前的约定 2 2 addFirst 方法 2 3 addList 方法 2 4 addIndex 方法 2 5 c
  • 华为OD机试真题-座位调整-2023年OD统一考试(B卷)

    题目描述 疫情期间课堂的座位进行了特殊的调整 不能出现两个同学紧挨着 必须隔至少一个空位 给你一个整数数组 desk表示当前座位的占座情况 由若干 0 和 1 组成 其中 0 表示没有占位 1 表示占位 在不改变原有座位秩序情况下 还能安排
  • 对于单向链表的排序与去重

    include bits stdc h using namespace std struct node int num node next class Chain public Chain head tail new node void G
  • 【数据结构】单向链表的修改和删除

    单向链表的修改和删除 从单链表中删除一个节点思路 1 找到需要删除节点的前一个节点temp 2 temp next temp next next 3 被删除的节点 将不会有其他引用指向 会被垃圾处理机制回收 1 单向链表的修改操作 1 1
  • leetcode-合并两个有序链表(详解)

    合并两个有序链表 前言 一 题链接 题意 题思路 题思路图解 题代码 总结 前言 路漫漫及修远兮 一 题链接 题意 将两个升序链表合并为一个新的 升序 链表并返回 新链表是通过拼接给定的两个链表的所有节点组成的 输入 l1 1 2 4 l2
  • 如何学好C语言的数据结构与算法?

    C语言的数据结构与算法 难就难在链表 学会了链表 可能后面就一点都不难了 书籍推荐 数据结构与算法分析 C语言描述版 要深入学习的话可以选择这本书 因为针对链表的讲解是比较详细的 所以可以很快理解链表 跟着书上一点点实现基本操作 增删改查
  • C语言单向循环链表的建立

    1 头文件 include
  • java中String作为参数传递终极解决

    今天我遇到一个问题就是string的传值问题 它虽然是一个引用数据类型 但是却和基本数据类型一样无法被改变 我看到网上的很多解释都很离谱 比如说很多解释说String要看成和Integer一样的包装类 看成 是char 的包装类 所以和其一
  • 链表【2】

    文章目录 24 两两交换链表中的节点 题目 算法原理 代码实现 143 重排链表
  • 算法题-简单系列-05-两个链表的第一个公共结点

    文章目录 1 题目 1 1 思路1 循环遍历 1 题目 输入两个无环的单向链表 找出它们的第一个公共结点 如果没有公共节点则返回空 1 1 思路1 循环遍历 使用两个指针N1 N2 一个从链表1的头节点开始遍历 我们记为N1 一个从链表2的
  • 华为OD机试 Java 【最大载货量】

    描述 在火车站旁的货运站 小明负责调度2K辆中转车 其中K辆用于干货 K辆用于湿货 每批到站的货物来自不同的供货商 需要按照顺序装入中转车 注意 一个供货商的货物只能装在一辆车上 不能分开 但是 一辆车可以放多个供货商的货物 问题是 要让所
  • LeetCode21. Merge Two Sorted Lists

    文章目录 一 题目 二 题解 一 题目 You are given the heads of two sorted linked lists list1 and list2 Merge the two lists into one sort
  • 「优选算法刷题」:移动零

    嗨 这个假期罗根开始接触了算法 在为今年的蓝桥杯做准备 所以 开个新专栏 记录记录自己做算法题时的心得 一 题目 给定一个数组 nums 编写一个函数将所有 0 移动到数组的末尾 同时保持非零元素的相对顺序 请注意 必须在不复制数组的情况下

随机推荐

  • Spark SQL 之 Temporary View

    Spark SQL 之 Temporary View spark SQL的 temporary view 是支持原生SQL 的方式之一 spark SQL的 DataFrame 和 DataSet 均可以通过注册 temporary vie
  • 华为OD机试真题-跳房子II-2023年OD统一考试(B卷)

    题目描述 跳房子 也叫跳飞机 是一种世界性的儿童游戏 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格 跳房子的过程中 可以向前跳 也可以向后跳 假设房子的总格数是count 小红每回合可能连续跳的步数都放在数组steps中 请问
  • 《三》微软Dynamics CRM 2016单服务器安装部署(Dynamics CRM 2016 安装)

    Microsoft Dynamic CRM 2016安装 在 AD域控和数据库服务器安装好的前提下 接下来我们来安装 Dynamic CRM Server 一 以具有管理员级别特权的用户身份登录到将安装Microsoft Dynamics
  • 如何使用Log4j?

    1 Log4j是什么 Log4j可以帮助调试 有时候debug是发挥不了作 用的 和分析 要下载和了解更详细的内容 还是访问其官方网站吧 http jakarta apache org log4j 2 Log4j的概念 Log4j中有三个主
  • Springboot Maven或Gradle 解决log4j2漏洞

    log4j2漏洞风靡全球 影响的版本范围 Apache Log4j 2 x lt 2 14 1 根据官方的解释需要将log4j2包的版本 升级到2 15 0 测试使用 Springboot 2 1 5 Gradle 6 3版本进行测试 当时
  • Spring 中的切点表达式介绍

    Spring 中的切点表达式介绍 翻译原文链接 Introduction to Pointcut Expressions in Spring 1 概述 在本教程中 我们将讨论 Spring AOP 切点表达式语言 In this tutor
  • Windows系统加固指引

    Windows系统加固指引 前言 1 禁用Guest账户禁用或删除其他无用账户 2 更改默认Administrator用户名 3 不显示最后登录的用户名 4 密码复杂度要求设置 5 windows帐户锁定策略 防止暴力破解 6 删除用户和组
  • leetcode专项刷题_数组(2)_两数之和/访问所有点的最小时间/统计有序矩阵中的负数/种花问题

    文章目录 两数之和 II 输入有序数组 题目解释 代码实现 访问所有点的最小时间 题目解释 代码实现 统计有序矩阵中的负数 题目解释 代码实现 种花问题 题目解释 代码实现 检查整数及其两倍数是否存在 题目解释 实现代码 两数之和 II 输
  • 云计算大会观感及对云计算的思考

    我思故我在 我眼中的第四届中国云计算大会 作者 朱金灿 来源 http blog csdn net clever101 承蒙CSDN的邀请 于2012年5月23日到5月25日参加了第四届中国云计算 在我看来这届大会的最大亮点是在于嘉宾的技术
  • kafka 安装使用及cpp kafka例子

    1 下载kafka 安装包 wget http mirrors tuna tsinghua edu cn apache kafka 2 3 0 kafka 2 12 2 3 0 tgz tar xvzf kafka 2 12 2 3 0 t
  • Codeforces Round 896 (Div. 2) A~D

    A Make It Zero 思路 长度为偶数 从1到n操作两次 长度为奇数 先从1到n操作一次 然后从1到n 1做两次 最后n 1到n做一次 AC代码 include
  • 弱监督目标检测之二 连续优化多实例学习

    上一次的博客提到了我们实验室发表在CVPR2018以及IEEE TPAMI上的工作MELM 1 这一次的博客进一步介绍基于MELM的最新的工作C MIL 也是实验室今年被CVPR2019接收的4篇论文之一 C MIL Continuatio
  • 读书笔记---《如何高效学习》

    学习是需要方法的 特别是在当今信息爆炸的时代 如何高效的处理信息 有机的整合知识 已经成为学习的关键 如果只用一种方式了解某样事物 你就不会真正了解她 了解事物真正含义的秘密取决于如何将其与我们所了解的事物相联系 通过联系 你可将想法内化于
  • 用python做爬虫,怎么入门学什么?

    用python做爬虫 怎么入门学什么 前些日子 写了一篇Python能做什么 当然高端的算法ai领域应用非常广泛 但是对于想学习Python实现找工作或者自己网上接单兼职的小伙伴来说 还是做好爬虫更适合 那么爬虫究竟是什么呢 爬虫可以理解为
  • 【图像识别】图像特征、特征检测、特征提取

    目录 1 图像特征 2 特征检测与特征提取 2 1 特征检测算法 2 2 1Moravec 2 1 2 Harris 2 1 3 FAST 2 1 4 SIFT 2 1 5 SURF 2 1 6 BRIRF 2 1 7 ORB 2 2 特征
  • [Qt] [QDir] 创建文件夹和删除文件夹

    1 创建文件夹 mkdir和mkpath都可以创建文件夹 QDir temp bool result 创建名为test的文件夹 mkdir 若csdn文件夹不存在 则test文件夹创建失败 result temp mkdir d csdn
  • 回溯--深度优先搜索(图的M着色问题 poj1129)

    回溯 图的m着色问题 题目描述 给定无向连通图G V E 和m种不同的颜色 用这些颜色为图G的各顶点着色 每个顶点着一种颜色 是否有一种着色法使G中相邻的两个顶点有不同的颜色 这个问题是图的m可着色判定问题 若一个图最少需要m种颜色才能使图
  • 使用QGraphicsItem绘制微信消息文本框

    微信消息框如下 使用QGraphicsItem绘制 怎么绘制呢 先不考虑头像 那文本框就是由一个菱形矩形加一个小箭头组成的 所以很简单就能画出来了 void PopoItem paint QPainter painter const QSt
  • 彻底解决Python(win)导包from import错误问题

    1 一句话 一句话 关键是os sys path这个目录 这个目录有 就from import没问题 没有 就报错 解决办法就是千方百计加进去即可 例如 import os print os sys path import dd from
  • 单链表中求倒数第几个节点

    问题描述 在单链表中求出倒数第K个节点 要求快速 方法一 利用链表的长度 不推荐 此方法必须事先知道链表的长度 在有长度的信息链表中 此方法可行 比如我之前的链表是这样的实现 参考博文 http blog csdn net dawn aft