Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
//俩个指针用于定位!
ListNode *deleteDuplicates(ListNode *head) {
ListNode *prev,*pnext;
if(head == NULL)return NULL;
prev = head;
pnext = head->next;
while(pnext != NULL)
{
if(prev->val == pnext->val)//则删除,指向下一个
{
prev->next = pnext->next;
delete pnext;
pnext = prev->next;//移动
//pre不用动;
}
else
{
prev = pnext;
pnext = pnext->next;
}
}
return head;
}