/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
ListNode *p=head->next;
ListNode *r=head;
if(head==NULL||head->next==NULL){
return head;
}
else if(head->next->next==NULL){
if(r->val==p->val){
r->next=p->next;
free(p);
p=r->next;
}
return head;
}
else{
while(p!=NULL){
if(r->val==p->val){
r->next=p->next;
free(p);
p=r->next;
}
else{
r=r->next;
p=p->next;
}
}
return head;
}
}
};