leetcode-Remove Duplicates from Sorted List II

来源:互联网 发布:淘宝卖家设置发货地址 编辑:程序博客网 时间:2024/04/19 14:39
Difficulty: Medium

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving onlydistinct numbers from the original list.

For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.

/** * 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) {        ListNode *left=new ListNode(-1);        left->next=head;         ListNode *right=head,*cur=left;        while(right){            bool dupli=false;            while(right->next&&right->next->val==right->val){                right=right->next;                dupli=true;            }            if(!dupli){                cur->next=right;                cur=cur->next;            }            right=right->next;        }        cur->next=right;        return left->next;    }};


0 0
原创粉丝点击