https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(!head || !head->next) return head;
ListNode* start = new ListNode(0);
start->next=head;
ListNode*pre=start;
while (pre->next) {
ListNode* cur= pre->next;
while (cur->next && cur->next->val==cur->val) { //相同
cur=cur->next;
}
if(cur!=pre->next) pre->next=cur->next;
else pre=pre->next; //没有重复
}
return start->next;
}
};