Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given1->1->2
, return1->2
.
Given1->1->2->3->3
, return1->2->3
.
算法思路:
单次遍历,遇到后驱与自己一样,删掉,时间复杂度O(n),空间O(1)。
1 public class Solution { 2 public ListNode deleteDuplicates(ListNode head) { 3 if(head == null || head.next == null) return head; 4 ListNode tail = head; 5 while(tail.next != null){ 6 if(tail.next.val == tail.val){ 7 tail.next = tail.next.next; 8 }else{ 9 tail = tail.next; 10 } 11 } 12 return head; 13 } 14 }