Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

Example

Given1->2->3->3->4->4->5, return1->2->5.
Given1->1->1->2->3, return2->3.

public ListNode deleteDuplicates(ListNode head) {
    if(head == null || head.next == null) {
        return head;
    }
    ListNode dummy = new ListNode(-1);
    dummy.next = head;
    ListNode p = dummy, h = head;
    while(p.next != null && p.next.next != null) {
        if(p.next.val == p.next.next.val) {
            int val = p.next.val;
            while(p.next != null && p.next.val == val) {
                p.next = p.next.next;
            }
        }
        else {
            p = p.next;
        }
    }
    return dummy.next;
}

results matching ""

    No results matching ""