zoukankan      html  css  js  c++  java
  • 【Lintcode】113.Remove Duplicates from Sorted List II

    题目:

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

     Example

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

    题解:

    Solution 1 ()

    class Solution {
    public:
        ListNode *deleteDuplicates(ListNode *head) {
            if (head == nullptr) {
                return head;
            }
            ListNode* dummy = new ListNode(-1);
            
            dummy->next = head; 
            head = dummy;
            while (head->next != nullptr && head->next->next != nullptr) {
                if (head->next->val == head->next->next->val) {
                    int value = head->next->val;
                    while (head->next != nullptr && head->next->val == value) {
                        head->next = head->next->next;
                    }
                } else {
                    head = head->next;
                }
            }
            
            return dummy->next;
        }
    };

      二级指针

    Solution 2 ()

    class Solution {
    public:
        ListNode *deleteDuplicates(ListNode *head) {
            if (head == nullptr || head->next == nullptr) {
                return head;
            }
            ListNode **t = &head;
            while (*t) {
                if ((*t)->next && (*t)->next->val == (*t)->val) {
                    ListNode *tmp = *t;
                    while (tmp && (*t)->val == tmp->val) {
                        tmp = tmp->next;
                    }
                    *t = tmp;
                } else {
                    t = &((*t)->next);
                }
            }
            
            return head;
        }
    };

     

  • 相关阅读:
    poj 1511Invitation Cards
    hust 1608Dating With Girls
    sdibt 2128Problem A:Convolution Codes
    hdu 1325Is It A Tree?
    poj 2240Arbitrage
    hdu 2818Building Block
    poj 1789Truck History
    poj 1125Stockbroker Grapevine
    展望未来
    告别过去
  • 原文地址:https://www.cnblogs.com/Atanisi/p/6838369.html
Copyright © 2011-2022 走看看