这道题题意很简单,但是容易出错,特别是第一个Node需要删掉的情况,所以可以使用一个dumyNode来做,简单而且不容易出错。
ListNode* deleteDuplicates(ListNode* head) {
if (!head || !head->next) return head;
ListNode *dummy = new ListNode(0);
dummy->next = head;
head = dummy;
while(head->next && head -> next -> next) {
if(head->next->val == head->next->next->val) {
int val = head->next->val;
while(head->next && head->next->val == val) {
head->next = head->next->next;
}
} else {
head = head->next;
}
}
return dummy->next;
}