Last updated 4 years ago
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:
Example 2:
Input: 1->2->3->3->4->4->5 Output: 1->2->5
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; } }