Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given
Given
Given
1->1->2, return 1->2.Given
1->1->2->3->3, return 1->2->3. ListNode *deleteDuplicates(ListNode *head) {
if(!head || !(head->next))
return head;
ListNode *retAdd = NULL;
ListNode *prev = NULL;
while(head)
{
if(!prev)
{
prev = head;
retAdd = head;
}
else
{
if(head->val != prev->val)
{
prev->next = head;
prev = prev->next;
}
}
head = head->next;
prev->next = NULL;
}
return retAdd;
}
No comments:
Post a Comment