Leetcode 82. Remove Duplicates from Sorted List II (Medium) (cpp)

    xiaoxiao2025-09-09  524

    Leetcode 82. Remove Duplicates from Sorted List II (Medium) (cpp)

    Tag: Linked List

    Difficulty: Medium

    /* 82. Remove Duplicates from Sorted List II (Medium) Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list. For example, Given 1->2->3->3->4->4->5, return 1->2->5. Given 1->1->1->2->3, return 2->3. */ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if (head == NULL || head -> next == NULL) { return head; } ListNode *dummy = new ListNode(-1); dummy -> next = head; ListNode *p = dummy; while (head != NULL) { ListNode *post = head -> next; if (post != NULL && post -> val == head -> val) { while (post != NULL && post -> val == head -> val) { post = post -> next; } head = post; p -> next = head; } else { p = head; head = head -> next; } } return dummy -> next; } };

    转载请注明原文地址: https://ju.6miu.com/read-1302488.html
    最新回复(0)