/82. Remove Duplicates from Sorted List II

82. Remove Duplicates from Sorted List II

Medium
Linked Lists51.4% acceptance

Given the head node of a singly linked list sorted in ascending order, remove all nodes that have duplicate values, so that only nodes with unique values remain. Return the head node of the resulting sorted linked list.

Example 1

Input: ListNode(2, ListNode(3, ListNode(3, ListNode(5, ListNode(6, ListNode(6))))))

Output: ListNode(2, ListNode(5))

Explanation: Nodes with values 3 and 6 are duplicates and removed. Only 2 and 5 remain.

Example 2

Input: ListNode(7, ListNode(8, ListNode(8, ListNode(9))))

Output: ListNode(7, ListNode(9))

Explanation: Nodes with value 8 are duplicates and removed. Only 7 and 9 remain.

Constraints

  • 0 <= number of nodes <= 300
  • -100 <= node value <= 100
  • Input list is sorted in ascending order
Python (current runtime)

Case 1

Input: ListNode(10, ListNode(10, ListNode(11, ListNode(12, ListNode(12, ListNode(13))))))

Expected: ListNode(11, ListNode(13))

Case 2

Input: ListNode(4, ListNode(4, ListNode(4, ListNode(5, ListNode(6, ListNode(7))))))

Expected: ListNode(5, ListNode(6, ListNode(7)))

Case 3

Input: ListNode(1, ListNode(2, ListNode(2, ListNode(3, ListNode(4, ListNode(4, ListNode(5)))))))

Expected: ListNode(1, ListNode(3, ListNode(5)))

Case 4

Input: ListNode(5)

Expected: ListNode(5)

Case 5

Input: None

Expected: None