Remove Duplicates from Sorted List II
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers.
Example: head = [1,2,3,3,4,4,5] → [1,2,5]
Sample Input
—
Sample Output
—
Constraints
- 0 to 300 nodes
- -100 <= Node.val <= 100
- List is sorted
Topics
Dummy Head + Skip Groups
function deleteDuplicates(head) {
const dummy = {next: head};
let prev = dummy;
while (prev.next) {
let curr = prev.next;
while (curr.next && curr.val === curr.next.val) curr = curr.next;
if (prev.next === curr) prev = prev.next;
else prev.next = curr.next;
}
return dummy.next;
}
Time: O(n) | Space: O(1)
Saved in this browser only. Private to you.