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 }
  • 相关阅读:
    ftp>ls 未连接
    Error running 'run': data.userName must not be null
    Excel另存为_有些Excel打开时会出现一些提示
    23种设计模式通俗理解
    清除html中的标记,只留下文字
    将DataTable中的数据导出成Excel
    C#读取文件
    系统性能瓶颈分析
    Angularjs的My97DatePicker扩展
    Memcache修改端口
  • 原文地址:https://www.cnblogs.com/noaman/p/5570433.html
Copyright © 2011-2022 走看看