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;
        }
    };

     

  • 相关阅读:
    L1-061 新胖子公式 (10 分)
    L1-060 心理阴影面积 (5 分)
    L1-059 敲笨钟 (20 分)
    Linux高性能服务器编程—进程池和线程池
    epoll系列系统调用
    18.5.2 多线程并发服务器端的实现
    10.4 基于多任务的并发服务器
    侯捷C++(complex类)
    Qt 事件机制
    C++篇49问49答
  • 原文地址:https://www.cnblogs.com/Atanisi/p/6838369.html
Copyright © 2011-2022 走看看