Leetcode

Leetcode 82. Remove Duplicates f

2018-09-07  本文已影响6人  SnailTyan

文章作者: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/
上一篇 下一篇

猜你喜欢

热点阅读