思路:定义遍历指针p,比较一个节点val和下一个节点val,相同的话就删去下一个节点,继续比较。不同的话p后移。
class Solution
{
public:
ListNode* deleteDuplicates(ListNode* head)
{
ListNode* p=head;
while(p&&p->next)
{
if(p->val==p->next->val)
{
ListNode* del=p->next;
p->next=p->next->next;
delete del;
}
else
{
p=p->next;
}
}
return head;
}
};