Remove Duplicates from Sorted List II

来源:互联网 发布:手机怎么上传淘宝图片 编辑:程序博客网 时间:2024/06/11 06:00
/** * 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)     {                if(head==NULL || head->next==NULL)            return head;        ListNode* now=head;        ListNode* newHead=new ListNode(-1);        ListNode* pre=newHead;        newHead->next=head;        while(now && now->next)        {            if(now->val == now->next->val)            {                while(now->next && now->val == now->next->val)                {                    now=now->next;                }                pre->next=now->next;                now=now->next;            }            else             {                pre=now;                now=now->next;            }        }        head=newHead->next;        delete(newHead);        return head;     }};

0 0