设置虚拟头节点的目的是简化代码
    比如在:
    image.png
    移除头结点和移除其他节点的操作是不一样的因为链表的其他节点都是通过前一个节点来移除当前节点,而头结点没有前一个节点。因此需要单独写一段逻辑来处理移除头结点的情况。
    其实可以设置一个虚拟头结点,这样原链表的所有节点就都可以按照统一的方式进行移除了。
    image.png
    在最后,让head = dummy->next, 然后释放空间(delete dummy).