class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
// write code here
if(head==nullptr||head->next==nullptr)return head;
ListNode*phead=new ListNode(INT32_MAX);
phead->next=head;
ListNode*p=phead->next,*pq=phead,*q=head->next;
while(p!=nullptr&&q!=nullptr){
if(p->val==q->val){
int val=p->val;
while(q&&val==q->val){
q=q->next;
}
pq->next=q;
p=pq->next;
if(p==nullptr)break;
q=p->next;
}
else{
pq=pq->next;
p=pq->next;
if(p==nullptr)break;
q=p->next;
}
}
return phead->next;
}
};
京公网安备 11010502036488号