链表介绍:
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到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链表的简单使用,大家可以参考其他案例