/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) : val(x), next(nullptr) {}
* };
*/
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
ListNode* my_head = new ListNode(0);
ListNode* cur = my_head;
for(ListNode* left=head;left!=nullptr;)
{
ListNode* right=left;
while(right && left->val == right->val)
{
right = right->next;
}
if(right == left->next)
{
cur->next = left;
cur = left;
cur->next = nullptr;
}
left = right;
}
return my_head->next;
}
};

京公网安备 11010502036488号