/** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: /** * * @param head ListNode类 * @return ListNode类 */ ListNode* deleteDuplicates(ListNode* head) { // write code here if(head==nullptr) { return nullptr; } else { ListNode* p=head;//注意牛客题目头结点有值 ListNode* p_=p->next; while(p!=nullptr) { while(p_!=nullptr&&p->val==p_->val) { p->next=p_->next; delete p_; p_=p->next; } p=p_; if(p_!=nullptr) p_=p->next; } return head; } } };