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

    思路:

    指针操作

    代码:

     1     ListNode *deleteDuplicates(ListNode *head) {
     2         if(!head)
     3             return NULL;
     4         ListNode *result = NULL, *tail = NULL, *cur;
     5         cur = head;
     6         while(cur->next){
     7             if(cur->val == cur->next->val){
     8                 int tmp = cur->val;
     9                 while(cur){
    10                     if(cur->val != tmp)
    11                         break;
    12                     cur = cur->next;
    13                 }
    14                 if(!cur)
    15                     break;
    16             }
    17             else{
    18                 if(!result){
    19                     result = cur;
    20                     tail = cur;
    21                 }
    22                 else{
    23                     tail->next = cur;
    24                     tail = tail->next;
    25                 }
    26                 cur = cur->next;
    27             }
    28         }
    29         if(tail)
    30             tail->next = cur;
    31         else
    32             result = cur;
    33         return result;
    34     }
  • 相关阅读:
    day04 Java Web 开发入门
    day0203 XML 学习笔记
    canvas 基础
    TreeSet
    IntelliJ IDEA
    elastic-job-lite
    Spring 同一接口注入多个bean实现
    StringRedisTemplate
    小记
    linux 命令
  • 原文地址:https://www.cnblogs.com/waruzhi/p/3416116.html
Copyright © 2011-2022 走看看