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) { if(!head) return head; ListNode *previous = head; ListNode *current = head->next; while(current) { if(current->val == previous->val) { previous->next = current->next; } else { previous = previous->next; } current = current->next; } return head; } };