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 }
  • 相关阅读:
    CF1119H
    oracle 第06章 数据字典
    oracle col命令
    oracle 第05章 SQL语句
    oracle 第04章 字符集
    oracle 第03章 体系结构
    oracle 第02章 基本操作
    oracle 第01章 安装
    oracle启动、关闭、重启脚本
    第十一周-学习进度条
  • 原文地址:https://www.cnblogs.com/noaman/p/5570433.html
Copyright © 2011-2022 走看看