详细思路
leftright,left是已经好了,right是需要判断,相等right++,不相等left连上去,++ ++; 画图
class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(!head||!head->next)return head; ListNode*left=head; ListNode*right=left->next; while(right){ while(right->next&&right->val==left->val)right=right->next; if(!right->next){ if(right->val==left->val){ left->next=nullptr; return head; } else{ left->next=right; return head; } } if(right){ left->next=right; left=right; right=right->next; } } return head; } };踩过的坑 链表题代码不重要,必须画图,最重要的是处理好如何结束,就是找到一个地方插入if return else return if(!right->next){ if(right->val==left->val){ left->next=nullptr; return head; } else{ left->next=right; return head; } }