写法一:
定义双指针。
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==nullptr)
return nullptr;
ListNode * p = head;
ListNode * p1 = head->next;
while(head->next !=nullptr)
{
if(head->val==p1->val)
head->next = p1->next;
else
{
head=head->next;
}
p1=p1->next;
}
return p ;
}
};
写法二:
定义单指针。
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==nullptr)
return nullptr;
ListNode * p = head;
while(head->next!=nullptr)
{
if(head->val==head->next->val)
head->next = head->next->next;
else
{
head=head->next;
}
}
return p ;
}
};