skip all the duplicate and use prev and curr and update these two.
public ListNode deleteDuplicates(ListNode head) {
// Note: The Solution object is instantiated only once and is reused by each test case.
if (head == null || head.next == null) return head;
ListNode dummy = new ListNode(-1);
dummy.next = head;
ListNode prev = dummy;
ListNode curr = head;
while (curr!=null) {
while (curr.next!=null && prev.next.val == curr.next.val) {
curr = curr.next;
}
if (prev.next == curr) {
prev = curr;
} else {
prev.next = curr.next;
}
curr = curr.next;
}
return dummy.next;
}
No comments:
Post a Comment