头节点和头指针
- 头结点是为了操作的统一与方便而设立的,放在第一个元素结点之前,其数据域一般无意义(当然有些情况下也可存放链表的长度、用做监视哨等等)。
- 有了头结点后,对在第一个元素结点前插入结点和删除第一个结点,其操作与对其它结点的操作统一了。
在编程中主要在两种情况下使用:
头插法
尾插法
链表定义
链表反转
将当前结点的 next 字段值改成 prev(上一个结点的指针)的值
Partition List
链表反转局部
Partition List
拆分成两段链表来做,再合起来
Rotate List
将链表连接成环,然后在指定位置断开即可
Reverse Nodes in k-Group
头指针会发生变化,所以这道题用上了三指针
Reverse Nodes in k-Group