82. Remove Duplicates from Sorted List II - cocoder39/coco39_LC GitHub Wiki

82. Remove Duplicates from Sorted List II

ListNode* deleteDuplicates(ListNode* head) {
        ListNode dummy(0);
        dummy.next = head;
        
        ListNode* p = &dummy;
        ListNode* p1 = head;
        ListNode* p2 = head;
        while (p1) {
            while (p2 && p2->val == p1->val) {
                p2 = p2->next;
            }
            if (p1->next == p2) {
                p->next = p1;
                p = p->next;
            }    
            p1 = p2;
        }
        p->next = nullptr;
        return dummy.next;
    }