Remove Duplicates from Sorted List II
Description
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
Example Given 1->2->3->3->4->4->5, return 1->2->5. Given 1->1->1->2->3, return 2->3.
Link
Method
- x
- x
Example
- 1
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */ class Solution{ public: /** * @param head: The first node of linked list. * @return: head node */ ListNode * deleteDuplicates(ListNode *head) { // write your code here if (!head) { return nullptr; } ListNode dummy(0); dummy.next = head; // ListNode* result = &dummy; ListNode* cur = &dummy; while (cur->next && cur->next->next) { if (cur->next->val == cur->next->next->val) { int val = cur->next->val; while (cur->next && cur->next->val == val) { cur->next = cur->next->next; } } else { cur = cur->next; } } return dummy.next; } };
Similar problems
x
Tags
x