美文网首页Leetcode
Leetcode 82. Remove Duplicates f

Leetcode 82. Remove Duplicates f

作者: SnailTyan | 来源:发表于2018-09-07 22:46 被阅读6次

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. Description

Remove Duplicates from Sorted List II

2. Solution

/**
 * 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) {
            return nullptr;
        }
        ListNode* new_head = new ListNode(0);
        ListNode* prev = new_head;
        prev->next = head;
        ListNode* current = head;
        while(current) {
            while(current->next && current->val == current->next->val) {
                current = current->next;
            }
            if(prev->next == current) {
                prev = prev->next;
            }
            else {
                prev->next = current->next;
            }
            current = current->next;
        }
        return new_head->next;
    }
};

Reference

  1. https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/description/

相关文章

网友评论

    本文标题:Leetcode 82. Remove Duplicates f

    本文链接:https://www.haomeiwen.com/subject/embhgftx.html