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.
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode newHead(0);
newHead.next = head;
ListNode* temp = NULL;
ListNode* cur = &newHead;
while(cur->next && cur->next->next)
{
if(cur->next->val == cur->next->next->val)
{
temp = cur->next;
cur->next = cur->next->next;
free(temp);
}
else
cur = cur->next;
}
return newHead.next;
}
};