C++ 判断 next 不等于 next next 纠结了很久 希望长点记性
class Solution { public: ListNode* deleteDuplication(ListNode* pHead) { ListNode* L = new ListNode(-1), *p = L; p->next = pHead; ListNode* c = p; // next 和 next next 不相等 while (c->next) { if (c->next->next && c->next->val == c->next->next->val) { ListNode* t = c->next; for (; t && c->next->val == t->val; t = t->next); c->next = t; // 而不是 c = t->next } else { cout << c->val << ' ' << c->next->val << ' '; c = c->next; p = p->next; } // cout << p->val << ' '; } return L->next; } };