Remove duplicates from sorted list II

来源:互联网 发布:js将字符串转换成日期 编辑:程序博客网 时间:2024/05/22 10:45

题目比较简单,就是用两个指针每次标识一个固定值的头和尾,如果只有一个则添加否则全删除。

 

ln* deleteDuplicates(ln* head){if (!head || !head->next)return head;ln* pHead=NULL;ln* pTail=pHead;ln* pPre=head;while(pPre){ln* pNext=pPre;while(pNext&&pNext->val==pPre->val)pNext=pNext->next;if (pPre->next==pNext){if (pHead==NULL){pHead=pTail=pPre;pPre=pPre->next;}else{pTail->next=pPre;
pTail=pTail->next;pPre=pPre->next;}}else{while(pPre!=pNext){ln* tmp=pPre->next;delete pPre;pPre=tmp;}pPre=pNext;}}if (pTail)pTail->next=NULL;return pHead;}