题解 | #删除有序链表中重复的元素-I#
删除有序链表中重复的元素-I
http://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79
/**
* 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;
}
}
};