线性表——顺序表与单链表学习小结
单向、双向
带头、不带头
循环、非循环常用链表:无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。带头循环单链表:结构较无头单向非循环链表简单。实际操作当中使用较少。不带头双向循环链表:在Java的集合框架库中LinkedList底层实现就是不带头双向循环链表。顺序表与链表的比较:经典面试题:
1.删除链表中等于给定值 val 的所有节点。
https://leetcode-cn.com/problems/remove-linked-list-elements
2.反转一个单链表。
https://leetcode-cn.com/problems/reverse-linked-list
3.查找链表中倒数第k个结点
https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=2&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking
4.合并两个有序链表
https://leetcode-cn.com/problems/merge-two-sorted-lists
5.删除链表中重复结点
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
6.复制复杂链表
https://leetcode-cn.com/problems/copy-list-with-random-pointer
将线性表的一些基本功能(增删查改)写在一个类里。使用时只要创建一个对象,用 对象.方法 调用即可
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。