#include<iostream>
using namespace std;
struct ListNode{
int value;
ListNode *next;
ListNode(int x):value(x),next(NULL){}
};
//https://blog.csdn.net/linhuanmars/article/details/24389429
//https://blog.csdn.net/linhuanmars/article/details/24354291
class Solution{
public:
ListNode* deleteDuplicates(ListNode* head){
if(head == NULL){
return NULL;
}
ListNode *dummpy = new ListNode(-1);
ListNode *pre = dummpy;
dummpy->next = head;
ListNode *cur = head;
while(cur!=NULL && cur->next !=NULL){
bool haveDuplicate = false;
while(cur->next != NULL && cur->value == cur->next->value){
bool haveDuplicate = false;
cur = cur->next;
}
if(haveDuplicate){
pre->next = cur->next;
}else{
pre = cur;
}
cur = cur->next;
}
return dummpy->next;
}
};
int main(){
Solution so;
ListNode *l1 = new ListNode(1);
ListNode *l2 = new ListNode(2);
ListNode *l3 = new ListNode(2);
ListNode *l4 = new ListNode(3);
l1->next = l2;
l2->next = l3;
l3->next = l4;
so.deleteDuplicates(l1);
while(l1->next!=NULL){
cout << l1->value << endl;
l1 = l1->next;
}
}
leetcode 82 Remove Duplicates from Sorted List II
最新推荐文章于 2023-08-30 08:07:21 发布