题解 | #删除有序链表中重复的元素-II#
删除有序链表中重复的元素-II
https://www.nowcoder.com/practice/71cef9f8b5564579bf7ed93fbe0b2024
/** * struct ListNode { * int val; * struct ListNode *next; * }; */ #include <chrono> class Solution { public: /** * * @param head ListNode类 * @return ListNode类 */ ListNode* deleteDuplicates(ListNode* head) { // write code here if(head == nullptr){ return nullptr; } ListNode* pDummyHead = new ListNode(0); pDummyHead->next = head; ListNode* pNode = pDummyHead; bool findSame = false; while (pNode->next) { ListNode* pFirst = pNode->next; ListNode* pSecond = pFirst->next; if(pSecond && pSecond->val == pFirst->val){ findSame = true; pSecond = pSecond->next; pFirst->next = pSecond; }else { if(findSame){ pNode->next = pSecond; findSame = false; }else{ pNode = pNode->next; } } } return pDummyHead->next; } };