zoukankan      html  css  js  c++  java
  • 删除链表中重复的结点

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

    /*
     public class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }
    */
    public class Solution {
        public ListNode deleteDuplication(ListNode pHead){
            
            ListNode preHead = new ListNode(-1);
            preHead.next = pHead;
            
            ListNode cur = pHead;
            ListNode pre = preHead;
            
            while (cur != null && cur.next != null) {
                if (cur.val == cur.next.val) {
                    int val = cur.val;
                    while (cur != null && cur.val == val) {
                        cur = cur.next;
                    }
                    pre.next = cur;
                }
                else {
                    pre = cur;
                    cur = cur.next;
                }
            }
            return preHead.next;
        }
    }
  • 相关阅读:
    JTA
    JPA
    深度优先搜索与广度优先搜索
    http和https区别
    数据库系统阶段特点
    Java中定义和声明
    java之集合ArrayList实例
    java实例之商品库
    java之封装
    java之类和对象
  • 原文地址:https://www.cnblogs.com/wxisme/p/5834023.html
Copyright © 2011-2022 走看看