JAVA--链表简单使用

本文介绍了链表的基本概念,包括其非连续存储和通过指针链接的特点。讲解了如何在链表中添加数据和获取特定节点值的操作,并通过一个实际例子展示了链表反转的过程,如将输入[0,1,2,3]的链表反转为[3,2,1,0]。此外,还提及链表相较于顺序表在插入操作上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链表介绍:

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)O(1)

添加链表数据并获取链表某个节点的值

创建链表属性
在这里插入图片描述
初始化一个简单链表,一个val值和一个指向下一个链表的next属性

我们对每一个ListNode都添加一个值,并且依次把下个ListNode添加到前一个节点下,接下来我们打印下获取的值

输出成功
在这里插入图片描述

反转链表

先看道题
链接地址:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/
在这里插入图片描述
还是原来的案例:

在这里插入图片描述

我们来运行下
输入[0,1,2,3],输出[3,2,1,0],按原计划输出
在这里插入图片描述

总结

提示:这里对文章进行总结:
本文只是记录简单使用链表参考过其他博主和LeetCode剑指Offer,以上就是今天要讲的内容,本文仅仅简单介绍了java链表的简单使用,大家可以参考其他案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值