Given a sorted linked list, delete all duplicates such that each element appear only once.
Example 1:
1 2
| Input: 1->1->2 Output: 1->2
|
Example 2:
1 2
| Input: 1->1->2->3->3 Output: 1->2->3
|
常规做法
对于一个节点curr, 比较curr和curr->next的值, 如果相同就删除curr->next节点curr->next =curr->next->next
.否则, 前进节点curr.curr = curr->next
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode curr = head; while(curr != null && curr.next != null) { if(curr.val == curr.next.val) { curr.next = curr.next.next; } else { curr = curr.next; } } return head; } }
|