题目描述
删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次.
注意本题目如果是样例是{1,1,1},会保留下一个元素。 与leecode82题是不一样的,这个题目会把重复的元素全部删除,具体解析可以看删除排序链表中的重复元素Ⅱ
依次遍历链表,如果当前元素的next指针指向的位置值与当前元素相同,那么当前元素的next指向当前元素的next的next,由于可能在一段序列中有多个连续相同的部分,因此使用while循环来去除这些相同元素。
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
// write code here
ListNode* cur=head;
while(cur)
{
while(cur->next&&cur->val == cur->next->val )
{
cur->next=cur->next->next;
}
cur=cur->next;
}
return head;
}
};