zoukankan      html  css  js  c++  java
  • [LeetCode] 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.

    Hide Tags
     Linked List
     

      控制好便可以了。
    #include <iostream>
    using namespace std;
    
    /**
     * 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) {
            ListNode ret(0);
            ListNode * pslow=&ret,*pfast=head;
            while(1){
                if(pfast==NULL) break;
                bool dup = false;
                int curVal = pfast->val;
                pfast=pfast->next;
                while(pfast!=NULL&&pfast->val==curVal){
                    dup = true;
                    pfast=pfast->next;
                }
                if(dup==false){
                    pslow->next = new ListNode(curVal);
                    pslow=pslow->next;
                }
            }
            return ret.next;
        }
    };
    
    int main()
    {
        return 0;
    }
  • 相关阅读:
    初识MySQL
    正则表达式
    多线程
    多进程
    Python基础--模块
    Python基础--异常
    Python基础--面向对象
    Python基础--文件操作
    Python基础--函数
    python3 日期时间差计算
  • 原文地址:https://www.cnblogs.com/Azhu/p/4240492.html
Copyright © 2011-2022 走看看