/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
ListNode dummy(-1);
ListNode *prev=&dummy;
ListNode *curr=head;
ListNode *saveptr=&dummy;
while(curr!=NULL)
{
if((prev==&dummy||prev->val!=curr->val)&&(curr->next==NULL||curr->val!=curr->next->val))
{
saveptr->next=curr;
saveptr=saveptr->next;
}
prev=curr;
curr=curr->next;
}
saveptr->next=NULL;
return dummy.next;
}
};
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
ListNode dummy(-1);
ListNode *prev=&dummy;
ListNode *curr=head;
ListNode *saveptr=&dummy;
while(curr!=NULL)
{
if((prev==&dummy||prev->val!=curr->val)&&(curr->next==NULL||curr->val!=curr->next->val))
{
saveptr->next=curr;
saveptr=saveptr->next;
}
prev=curr;
curr=curr->next;
}
saveptr->next=NULL;
return dummy.next;
}
};