首页 > 代码库 > [LeetCode 题解]: Remove Duplicates from Sorted List

[LeetCode 题解]: 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.

题意:给定一个已排序的链表,删除其中重复的元素,保证每个元素有且仅有一个。

使用两个指针,分别指向前一个元素,和当前元素,比较两者。如果相同,则删除当前元素;否则,将当前元素换成新值。

public:    ListNode *deleteDuplicates(ListNode *head) {        if(head==NULL || head->next==NULL) return head;        ListNode *pre,*tail;        pre=head;        tail=head->next;        while(tail){            if(tail->val == pre->val){                pre->next=tail->next;            }else{                pre =pre->next;            }            tail=tail->next;        }        return head;            }};

转载请注明出处: http://www.cnblogs.com/double-win/ 谢谢!