链表
节点:
dummy:虚拟头结点可以让链表不用特殊处理头结点,可能一个或者多个,大部分题目都用到了
指针:以下前两者必用其一
- cur:当前指针一般用来遍历链表,可以避免修改链表头,可能一个或者多个
- fast、slow:快慢指针也是用来遍历链表,倒数第 n 个、旋转、找中点、环形用到
- pre、temp:反转时用到
操作:
- 遍历操作
- while:大部分都是,可能 while node、while node.next、while node.next.next,以及 and、or 都可能
- for:个别涉及遍历几次的
- 删除操作:node.next=node.next.next
- 反转操作:cur、pre、temp
- 拆分操作:以一个链表是否为空为条件遍历某一个链表,将节点分别加入到 cur1 和 cur2 中,每个链表都有一个步进
- 合并操作:以多个链表是否为空为条件遍历多个链表,将节点加入都 cur 一个链表中,每个链表都有一个步进