题目:编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 代码: 1 /** 2 * Definition for si ...
分类:
其他好文 时间:
2021-05-24 16:47:52
阅读次数:
0
最近在LeekCode用java写一些算法时,经常遇到要使用栈和队列结构,使用栈的话,Stack已经不被推荐使用了,所以栈和队列我们通常都是用LinkedList这种双链表结构实现。Linkedlist是一个双向链表,操作起来非常方便,java也封装了很多的方法在这个双向链表里面。 题目:使用栈,L ...
分类:
其他好文 时间:
2021-05-24 10:25:56
阅读次数:
0
(1)数据结构:LinkedList是一个实现了List接口和Deque接口的双端链表。 (1-1)双端链表: 双端链表与单链表的区别在于它不只第一个链结点有引用,还对最后一个链结点有引用。 (2)线程安全:线程不安全。 (3)修改操作:LinkedList底层的链表结构使它支持高效的插入和删除操作 ...
分类:
其他好文 时间:
2021-05-24 07:18:22
阅读次数:
0
链表的理论基础 链表结构 链表中的节点由数据域和指针域两部分组成。 //golang中单链表节点的定义 type ListNode struct{ Val int //数据域 Next *ListNode //指针域 } 链表的分类 单链表 链表的入口处称为链表的头节点head,链表的尾节点指向nu ...
分类:
其他好文 时间:
2021-02-08 11:44:41
阅读次数:
0
Linux网络协议栈初始化 sock 初始化 socket 和文件系统都位于 VFS 下一层,对 socket 的操作都要经过VFS,下图为super_blocks和file_systems的链表结构图。 Linux 里面每个文件都有唯一的 inode ,inode 会大量使用,为了提高效率会对 i ...
分类:
系统相关 时间:
2021-01-30 12:08:14
阅读次数:
0
定义简单单链表结构 public class ListNode { public int val; public ListNode next; public ListNode(int val = 0, ListNode next = null) { this.val = val; this.next ...
LinkedList简介 LinkedList是一个使用双向链表结构实现的容器,与ArrayList一样,它能动态扩充其长度,LinkedList相较于ArrayList,其任意位置插入速度比ArrayList要快,但是其查询速度要比ArrayList要慢;LinkedList继承自Abstract ...
分类:
编程语言 时间:
2020-11-06 02:49:47
阅读次数:
31
#一、单链表 所谓单链表(Linked)在内存中不连续的一段内存空间,链表的每一个元素是一个节点,每一个节点由数据元素和下一个节点的存储位置组成,链表结构与数组结构最大区别是链表结构的存储内存是不连续的,而数组结构的内存是连续的,链表结构不能与数组结构一样快速查找 ? 链表机构操作特点是:添加,删除 ...
分类:
其他好文 时间:
2020-11-01 10:43:33
阅读次数:
20
一、HashMap底层用到的数据结构 数组+单向链表+红黑树 数组:数组每一项都是一个链表,其实就是数组和链表的结合体 单向链表:当法神hash碰撞时,首先会找到数组对应位置,然后1.8采用尾插入法(1.7采用头插入法),形成一个单项链表结构 JDK1.8 红黑树:当数组中每项的链表长度大于8时,会 ...
分类:
其他好文 时间:
2020-11-01 09:28:52
阅读次数:
17
首先,我们先了解一下什么是阻塞队列: 当队列满了时,队列会阻塞插入元素的线程,直到队列不满; 当队列为空时,获取元素的线程会等待队列变成非空。 常用到的方法 上面是对阻塞队列的简单了解,下面重点分析一下LinkedBlockingQueue。 源码分析 Node节点 可以看出是单向的链表结构 sta ...
分类:
数据库 时间:
2020-09-24 22:14:44
阅读次数:
101