[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/ 谢谢!