zoukankan      html  css  js  c++  java
  • 【LeetCode练习题】Remove Duplicates from Sorted List II

    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.

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

    移除给定链表中重复出现的节点。

    代码如下:

    class Solution {
    public:
        ListNode *deleteDuplicates(ListNode *head) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            ListNode dummy(0);
            dummy.next = head;
    
            ListNode *pre = &dummy, *cur = head;
            while (cur) {
                int i = cur->val;
                if (cur->next && cur->next->val == i) {
                    while (cur && cur->val == i) {
                        pre->next = cur->next;
                        delete cur;
                        cur = pre->next;
                    }
                }
                pre = cur;
                cur = cur->next;
            }
    
            return dummy.next;
        }
    };
  • 相关阅读:
    设计模式-观察者模式
    ps一寸照的编辑
    ps剪切蒙版的使用
    ps扣头发
    mysql索引优化
    ES6 $ ES5
    sping-mybatis集成
    多线程--volatile
    eclipse.exe打开是报错
    Spring Aop 详解二
  • 原文地址:https://www.cnblogs.com/4everlove/p/3706680.html
Copyright © 2011-2022 走看看