链表
1、单链表
1、对于单链表来说。要删除一个节点就需要找这个节点的前一个节点啊
2、让pre.next = temp.next这样才能有用
3、还得注意不能移动头节点啊
2、构建链表
1、对于单链表来说,无论是什么操作,都要找到要操作的节点的前一个节点
2、还有基本结构,就是Node对象创建、value的值还有next的指针。
3、一般我们会构建一个前驱节点dummyHead,这个节点是在head的前一个节点
4、主要是方便我们对链表的添加、修改、还有删除。
5、因为单链表中我们需要,找到需要修改的节点的前一个节点才会有效果
3、反转链表
1、使用双指针解法
1、创建pre和cur
2、pre在cur前面,然后创建一个temp临时存储cur,为了后面的移动和找到下一个节点
3、图示

2、使用递归的解法

3、删除指定列表

4、判断环形链表
1、题目142力扣
2、使用快慢指针
1、就是快指针移动两步,慢指针移动一步,如果有环形链表,他们始终会相遇
2、这就意味着,从头结点出发一个指针,从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点
3、图解

3、使用哈希表
1、建立一个Set哈希表,不会重复
2、遍历循环,如果temp.next节点不为空
3、查看哈希表中是否有值,如果有,就遍历,没有就添加
4、然后temp往后移。