一、链表基础知识总结
1、链表是什么
链表是一种用“节点”串联起来的储存结构,每个节点包含两个部分:数据域和指针域。
数据域:是用来存放实际值的。
指针域:是用来存放下一个节点的位置的。
2、链表的类型
单链表:每一个节点只能指向下一个节点,只能从前往后遍历。
双链表:每一个节点同时指向前一个和后一个节点,可以双向遍历。
3、链表与数组的对比
数组:内存是连续的,所以按照下标查找非常快,但是在插入或删除时,需要移动大量的元素,所以效率低。
链表:内存是不连续的,查找某一个位置时必须从开始逐个遍历,速度较慢;但是插入或者删除只需修改相邻节点的指针,非常的方便。
4、链表中常见的操作
头部插入:新的节点指向原头节点,再更新头节点。
尾部插入:遍历到末尾,让最后一个节点指向新节点。
中间插入或者删除:先定位到前驱节点,再调整指针。
5、总结
链表的核心是“节点+指针”,优点是增删快,缺点是查找慢。
二、leetcode题解
1、leetcode(707)
2、leetcode(203)