• 删除链表中重复的结点_java


     1 package algorithms;
     2 
     3 /*
     4 public class ListNode {
     5    int val;
     6    ListNode next = null;
     7 
     8    ListNode(int val) {
     9        this.val = val;
    10    }
    11 }
    12 */
    13 
    14 /*
    15  * 
    16  * 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,
    17 重复的结点不保留,返回链表头指针。(认真审题)
    18 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
    19 
    20 从头遍历整个链表 如果当前节点pNode的值与下一个节点相同
    21 那么他们就是重复的节点  需要被删除
    22 为了保证删除之后的链表仍然是相连的
    23 需要把当前节点的前一个节点pPreNode保存起来
    24 循环的过程中确保pPreNode始终与下一个没有重复的节点连接在一起
    25 
    26 */
    27 
    28 public class DeleteDuplication {
    29     public ListNode deleteDuplication(ListNode pHead) {
    30         ListNode pPreNode = null;
    31         ListNode pNode = pHead;
    32         while (pNode != null) {
    33             ListNode pNext = pNode.next;
    34             boolean needDelete = false;
    35             if (pNext != null && pNext.val == pNode.val)
    36                 needDelete = true;
    37             if (!needDelete) {
    38                 pPreNode = pNode;
    39                 pNode = pNode.next;
    40             } else {
    41                 ListNode pDeleteNode = pNode;
    42                 int value = pDeleteNode.val;
    43                 while (pDeleteNode != null && pDeleteNode.val == value) {
    44                     pNext = pDeleteNode.next;
    45                     pDeleteNode = pNext;
    46                 }
    47                 if (pPreNode == null)
    48                     pHead = pNext;
    49                 else
    50                     pPreNode.next = pNext;
    51                 pNode = pNext;
    52             }
    53         }
    54 
    55         return pHead;
    56     }
    57 }
  • 相关阅读:
    Corn Fields 状压动归入门题
    codevs 2800 送外卖 floyd + Tsp
    互不侵犯 状压动归入门题
    跨终端电商平台的实现之手势效果(左右滑动)
    nodejs和树莓派开发以及点亮RGB的LED灯代码
    基于vue-cli搭了一个多页面应用的空脚手架
    About HTML
    【译】遗留浏览器中的表单
    Vue2的右键弹出菜单(vue-contextmenu)
    IMWEB 前端面试题汇总
  • 原文地址:https://www.cnblogs.com/ustc-anmin/p/10610259.html
Copyright © 2020-2023  润新知