class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode *dummy=new ListNode(0);
dummy->next=head;
ListNode*p=dummy;
while(p->next)
{
ListNode*q=p->next;
while(q && q->val==p->next->val)
{
q=q->next; //先遍历完含有重复的区段
}
if(p->next->next==q) p=p->next;
else p->next=q;
}
return dummy->next;
}
};