这里比之前更多的操作是,这个直接先定义一个虚拟头节点,然后使原来的head成为普通节点,这样就会更容易操作。
注意的是,删除操作仍然是cur->next =cur->next->next;
并且需要在最后删掉虚拟头结点。将虚拟头结点的next指向head后,再删除虚拟头结点。
head = dummynode->next;
delete dummynode;
return head;
需要再强调一下,着重记忆节点的初始化操作。
初始化某个值
ListNode *dummynode = new ListNode(0);
初始化为某个节点
ListNode *cur = dummynode;