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.

Return the linked list sorted as well.

Example 1:

Input: 1->2->3->3->4->4->5
Output: 1->2->5

Example 2:

Input: 1->1->1->2->3
Output: 2->3
class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        ListNode current = head;
        ListNode ans = new ListNode(0),ansPointer=ans;
        while (current != null) {
            boolean repeat = false;
            ListNode temp=current.next;
            while(temp!=null && current.val==temp.val){
                temp=temp.next;
                repeat=true;
            }
            if(!repeat){
                ansPointer.next=current;
                ansPointer=current;
            }
            current=temp;
        }
        ansPointer.next=null;
        return ans.next;
    }
}

Last updated