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