• 删除链表中重复的结点_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 }
  • 相关阅读:
    Docker安装Zookeeper并进行操作
    JVM 完整深入解析
    synchronized关键字加到static静态方法和非static静态方法区别
    submit与execute区别
    ThreadPoolTaskExecutor和ThreadPoolExecutor区别
    Redis占用内存大小
    Java中CycliBarriar和CountdownLatch区别
    Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
    文本格式
    JavaScript事件
  • 原文地址:https://www.cnblogs.com/ustc-anmin/p/10610259.html
Copyright © 2020-2023  润新知