【LeetCode】Remove Duplicates from Sorted List II

来源:互联网 发布:河图二手专辑淘宝店 编辑:程序博客网 时间:2024/06/05 15:28
/** * 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 *pre, *cur;if (head == NULL)return head;ListNode *fakehead = new ListNode(0);fakehead->next = head;pre = fakehead;cur = head;while (cur){bool duplicated = false;while(cur->next && cur->val == cur->next->val){duplicated = true;ListNode *tmp = cur;cur = cur->next;delete tmp;}if (duplicated){ListNode *tmp = cur;cur = cur->next;delete tmp;continue;}pre->next = cur;pre = pre->next;cur = cur->next;}pre->next = cur;return fakehead->next;    }};

0 0
原创粉丝点击