![](https://www.dazhuanlan.com/webchat.jpg)
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
Example
No.1
Input: 1->2->3->3->4->4->5
Output: 1->2->5
No.2
Input: 1->1->1->2->3
Output: 2->3
Code
1 2 3 4 5
|
public class { int val; ListNode next = null; ListNode(int x) { val = x; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public ListNode deleteDuplicates(ListNode head) { ListNode dummy = new ListNode(0); dummy.next = head; ListNode prev = dummy; ListNode current = head;
while (current != null && current.next != null) { if (current.val == current.next.val) { while (current.next != null && current.next.val == prev.next.val) current = current.next;
current = current.next; prev.next = current; } else { prev = current; current = current.next; } }
return dummy.next; }
|
近期评论