[leetcode]Remove Duplicates from Sorted List

 

 

Remove Duplicates from Sorted List

Given a sorted linked list, delete all duplicates such that each element appear only once.

For example,
Given 1->1->2, return 1->2.
Given 1->1->2->3->3, return 1->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 }

posted on 2014-07-20 14:49  喵星人与汪星人  阅读(191)  评论(0编辑  收藏  举报