当下一个元素与下下个元素相同时,删除下下个元素。
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
ListNode* dummy_head=new ListNode{-1};
dummy_head->next=head;
auto cur=dummy_head;
while(cur->next!=nullptr){
while(cur->next->next && cur->next->next->val==cur->next->val){
auto temp=cur->next->next;
cur->next->next=temp->next;
delete temp;
}
cur=cur->next;
}
return dummy_head->next;
}
};