struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };
class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(head == NULL) return head; ListNode *prev = head; for(ListNode *cur = prev->next; cur != NULL; cur = cur->next){ if(prev->val == cur->val){ prev->next = cur->next; }else{ prev = cur; } } return head; } };