序言
1.永远不要沉迷碎片化的知识
2.谨慎播撒你的精力种子
3.改变我们的人生的,不单单是道理,还有方法
面试题
1、单链表的创建和遍历
2、求单链表中节点的个数
3、查找单链表中的倒数第k个结点(剑指offer,题15)
4、查找单链表中的中间结点
5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17)
6、单链表的反转【出现频率最高】(剑指offer,题16)
7、从尾到头打印单链表(剑指offer,题5)
8、判断单链表是否有环
9、取出有环链表中,环的长度
10、单链表中,取出环的起始点(剑指offer,题56)。本题需利用上面的第8题和第9题。
11、判断两个单链表相交的第一个交点(剑指offer,题37)
给出一个链表[1, 2, 3, 4, 5]
反转为[5, 4, 3, 2, 1]
在对链表进行操作时,一种常用的技巧是添加一个哑节点(dummy node),它的 extit{next}next 指针指向链表的头节点。这样一来,我们就不需要对头节点进行特殊的判断了。
迭代反转链表
递归反转链表
头插法反转链表
所谓头插法,是指在原有链表的基础上,依次将位于链表头部的节点摘下,然后采用从头部插入的方式生成一个新链表,则此链表即为原链表的反转版
就地逆置法反转链表
资料
http://c.biancheng.net/view/8105.html
https://www.cnblogs.com/qianguyihao/p/4782595.html