时间复杂度:O(N)
C++代码:
class Solution {
public:
ListNode * deleteDuplicates(ListNode* head) {
if (head == nullptr)
return head;
ListNode* dummy = new ListNode(-1);
dummy->next = head;
int val = 0;
ListNode* p = head, *pFront = dummy;
while (p != nullptr)
{
if (p->next != nullptr && p->val == p->next->val)
{
val = p->val;
while (p != nullptr && p->val == val)
{
p = p->next;
}
pFront->next = p;
}
else
{
pFront = p;
p = p->next;
}
}
return dummy->next;
}
};