c_cpp 从排序列表中删除重复项IIhttp://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 从排序列表中删除重复项IIhttp://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/相关的知识,希望对你有一定的参考价值。

/**
 * 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;
        }
        /*while(head->next != NULL && head->val == head->next->val){
            head = head->next;
        }*/
        ListNode *first = new ListNode(0);
        first->next = head;
        ListNode *it = first;
        //ListNode *pre = first;
        
        while(it->next && it->next->next){
             if(it->next->val == it->next->next->val){
                 while(it->next && it->next->next && it->next->val == it->next->next->val){
                    ListNode *temp = it->next;
                    it->next = temp->next;
                    delete temp;
                 }
                 ListNode *temp = it->next;
                 it->next = temp->next;
                 delete temp;
             }
             else{
                 it = it->next;
                 //pre = pre->next;
             }
        }
        
        ListNode *re = first->next;
        delete first;
        return re;
    }
};

以上是关于c_cpp 从排序列表中删除重复项IIhttp://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 从未排序的链接列表中删除重复项

c_cpp 从已排序的链接列表中删除重复项

c_cpp 26.从排序数组中删除重复项 - DifficultyEasy - 2018.9.5

java 82.从排序列表II(递归).java中删除重复项

java 82.从排序列表II(递归).java中删除重复项

java 82.从排序列表II(递归).java中删除重复项