原题链接:82. 删除排序链表中的重复元素 II
solution:
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head == nullptr || head->next == nullptr) return head;
ListNode *dummy = new ListNode(-1);
ListNode *pre = dummy;
ListNode *cur = head;
dummy->next = head;
while(cur != nullptr && cur->next != nullptr) {
if(cur->val == cur->next->val) {
while(cur->next != nullptr && cur->val == cur->next->val) { //跳过所有重复节点
cur = cur->next;
}
pre->next = cur->next;
cur = cur->next;
}else { //不是重复节点正常遍历
pre = pre->next;
cur = cur->next;
}
}
return dummy->next;
}
};



