思路
很简单的一道题,思路也没什么特别的,就是设置一个prehead节点
代码
ListNode* deleteDuplicates(ListNode* head) {
ListNode nHead(0);
ListNode* phead = &nHead;
ListNode* tmp = &nHead;
bool flag;
while(head){
flag=true;
if (!head->next){
tmp->next=head;
tmp=tmp->next;
}
else{
while (head->next && head->val==head->next->val){
head = head->next;
flag=false;
}
if (flag){
tmp->next=head;
tmp=tmp->next;
}
}
head=head->next;
}
tmp->next=NULL;
return phead->next;
}