单向链表

双向链表

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

虚拟头节点

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