链表需要注意的是
1.链表是指针使用的体现,所以指针类的问题都要考虑
2.判空
3.头指针
4.尾部
5.插入,删除建议先将next连接起来再断开前面,最后free
6.尽量向O(1)考虑时,可以利用多个指针分别指向pre,cur,next
7.节点操作,可以保持结构(需要知道pre结点),也可以利用O(1)操作下个节点,然后交换数据
8.环
1.链表是指针使用的体现,所以指针类的问题都要考虑
2.判空
3.头指针
4.尾部
5.插入,删除建议先将next连接起来再断开前面,最后free
6.尽量向O(1)考虑时,可以利用多个指针分别指向pre,cur,next
7.节点操作,可以保持结构(需要知道pre结点),也可以利用O(1)操作下个节点,然后交换数据
8.环
9.逆置,换位等
常见问题:
从无头单链表中删除或插入节点O(1)
合并两个排序的链表
拷贝链表,复杂多指针链表的COPY
链表逆置
判断单链表是否有环
判断环的长度
判断两个无环链表是否相交
判断两个有环链表是否相交
约瑟夫环问题
找出倒数第n个位置的节点
找出环的入口结点在哪里
找出两个无环链表相交的第一个结点
找出两个有环链表相交的第一个结点