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;
}
};



京公网安备 11010502036488号