zoukankan      html  css  js  c++  java
  • 剑指offer系列30-----删除链表中重复的节点

    【题目】在一个排序的链表中,存在重复的结点,
    * 请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
    * 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

     1 package com.exe7.offer;
     2 
     3 /**【题目】在一个排序的链表中,存在重复的结点,
     4  * 请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 
     5  * 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
     6  * @author WGS
     7  */
     8 public class DeleteDuplication {
     9 
    10     public class ListNode{
    11         int val;
    12         ListNode next=null;
    13         public ListNode(int val){
    14             this.val=val;
    15         }
    16     }
    17     
    18     public ListNode deleteDuplicationNodes(ListNode headNode){
    19         if(headNode==null) return headNode;
    20         ListNode indexNode=new ListNode(-1);
    21         indexNode.next=headNode;
    22         ListNode preNode=indexNode;
    23         ListNode curNode=headNode;
    24         
    25         while(curNode!=null && curNode.next!=null){
    26             if(curNode.val==curNode.next.val){
    27                 int val=curNode.val;
    28                 while(curNode!=null && curNode.val==val){
    29                     curNode=curNode.next;
    30                 }
    31                 preNode.next=curNode;
    32             }else{//前后不重复
    33                 preNode=curNode;
    34                 curNode=curNode.next;
    35             }
    36         }
    37     
    38         return indexNode.next;
    39     }
    40 }
  • 相关阅读:
    2016.7.22.noip2012D2
    2016.7.21.noip2014D2
    LIS最长上升子序列O(n^2)与O(nlogn)的算法
    vijos1910解方程
    vijos1909寻找道路
    viojs1908无线网路发射器选址
    P1907飞扬的小鸟
    P1906联合权值
    P1905生活大爆炸版 石头剪刀布
    poj1274(匈牙利算法)
  • 原文地址:https://www.cnblogs.com/noaman/p/5570433.html
Copyright © 2011-2022 走看看