上一周主要练习的是Linked List,这里做个简单的小结,主要是把要点列出来,以备再次复习时快速地过一遍。(小结应该上周就完成的,不料拖延症又犯了...)
要点:
- 链表数据结构的定义
- 链表的基本操作
- 增删查改
- reverse
- find median
- Dummy Node(凡是链表结构发生变化的,都建议使用这个trick)
- 从尾到头打印链表(栈做法)
- 合并两个排序链表
- follow up: 合并k个排序链表(三种实现方式:分治法、优先队列、两两in-place合并)
- 链表环路判断
- 快慢指针
- 找到环的起点
- 两个链表的交点
- 复制带随机指针的链表(hash map方法,O(1) space的方法能实现即可)
- 快慢指针适用的各种操作(找中点、找倒数第n个节点、判环等等)