单向链表
双向链表
1、从定义上双向链表多了last节点及每个节点增加加了prev的指针,作为该节点指向的上一个节点;
2、使用双向链表主要时为了提升链表的综合能力;
虚拟头节点

定义:在链表的头部添加一个节点,作为头部节点,此节点不存储任何内容、不纳入节点总数中;
作用:主要用于统一化节点的操作,例如链表的add()操作(remove()类似):
总结:
一定程度上引入的虚拟节点增加了理解难度(为啥需要多个虚拟节点?这步操作为啥是这样?);
简化校验部分代码不是十分的复杂,没太大的必要去简化;
