首页 > 其他分享 >链表中倒数最后k个结点

链表中倒数最后k个结点

时间:2024-06-17 11:57:45浏览次数:20  
标签:结点 倒数 ArrayList 链表 数组 集合 java 节点 size

本人学习的java,所以用java的代码来做,仅只给出基本的做题思路,代码优化方面本人能力不足暂不提供。根据描述,要求我们返回倒数第k个节点即可。

我们可以用ArrayList集合解题:

  在Java中,ArrayList是一个动态数组实现的类。它内部使用了一个数组来存储元素,但是它提供了一系列的方法和功能,使得数组的长度可以根据需要进行动态调整。这意味着,ArrayList可以自动扩展和收缩数组的大小,以适应元素的添加和删除。

我们创建一个ArrayList集合,用p作为指向phead的指针,只要p指向的那个节点不为空,我们就将对应的那个节点放进ArrayList集合中,然后向后遍历。size()方法会求出集合的长度,可以理解为数组的长度,然后可以用get(size()-k)方法根据下标获取k对应的节点,返回即可。

标签:结点,倒数,ArrayList,链表,数组,集合,java,节点,size
From: https://blog.csdn.net/Anulifendoujinqu/article/details/139739068

相关文章

  • #C语言结构体/结构体指针/单链表学习必备总结(浓缩版)#
    一.结构体的定义结构体是一种用户自定义的数据类型,用于将多个不同类型的数据组合在一起形成一个新的数据类型。结构体由多个成员变量组成,每个成员变量可以是不同的数据类型,可以是基本数据类型(如整型、浮点型、字符型等)或其他结构体类型。结构体的成员变量在内存中是按照声明的......
  • C语言数据结构实现-双向链表
    前面学习了如何创建一个双向链表,本节学习有关双向链表的一些基本操作,即如何在双向链表中添加、删除、查找或更改数据元素。本节知识基于已熟练掌握双向链表创建过程的基础上,我们继续上节所创建的双向链表来学习本节内容,创建好的双向链表如图1所示:双向链表添加节点根据数据添......
  • Day03 链表概念与单向不循环链表的实现
    目录1、顺序表的优缺点2、链式存储的线性表3、单向不循环链表实现1、顺序表的优缺点顺序表的优点是:        由于顺序表数据元素的内存地址都是连续的,所以可以实现随机访问,而且不需要多余的信息来描述相关的数据,所以存储密度高。顺序表的缺点是:       ......
  • 链表经典题目:环形链表问题(LeetCode141.环形链表、LeetCode142.环形链表Ⅱ)
    ......
  • FreeRTOS简单内核实现2 双向链表
    FreeRTOSKernelV10.3.1FreeRTOS的list.c/list.h文件中有3个数据结构、2个初始化函数、2个插入函数、1个移除函数和一些宏函数,链表是FreeRTOS中的重要数据结构,下述“1、数据结构”和“2、操作链表”两个小节内容主要对其原理进行讲解1、数据结构1.1、xLIST_IT......
  • 链表的概述
    目录链表的组成:头节点(HeadNode):链表头节点的概念使用头节点进行链表操作尾节点(TailNode):链表尾节点的概念链表尾节点的一般形式链表的分类:静态链表:动态链表:单链表(SinglyLinkedList):双链表(DoublyLinkedList):循环链表(CircularLinkedList):链表的操作:插入(Insert......
  • 数据结构(C/C++)专题一:顺序表与链表
    今天开始一个新的专题:数据结构当然,不仅仅适用于学习也适用于408考研。那么提起数据结构思维导图:总结如下:·1.初识顺序表与链表首先呢我们要明白,数据结构有物理结构,也有逻辑结构物理结构就是电脑实际的结构,链式,非链式,索引,散列eg:链式结构(LinkedStructure)例子:火车车......
  • 代码随想录——链表1——基本介绍与3种语言实现
    ......
  • 每日一练——随机链表的复制
    138.随机链表的复制-力扣(LeetCode)关键点:通过“相互插入”式的复制方法来把源链表和目标链表的random联系起来。  /***DefinitionforaNode.*structNode{*intval;*structNode*next;*structNode*random;*};*/typedefintLD......
  • 带头+双向+循环链表的实现
    目录1.链表1.1带头双向循环链表2.链表的实现2.1结构体2.2初始化2.3打印2.4判断空不能删2.5尾插2.6头插2.7尾删2.8头删2.9查找2.10在pos之前插入2.11删除pos位置的值2.12销毁2.13创建节点3.test主函数4.List.c文件5.List.h文件1.链表1.1带头......