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

    删除链表中重复的结点

    题目描述

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

    题目链接: 删除链表中重复的结点

    代码

    /**
     * 标题:删除链表中重复的结点
     * 题目描述
     * 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
     * 题目链接:
     * https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&&tqId=11209&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
     */
    public class Jz56 {
    
        public ListNode deleteDuplication(ListNode pHead) {
            if (pHead == null || pHead.next == null) {
                return pHead;
            }
            ListNode next = pHead.next;
            if (pHead.val == next.val) {
                while (next != null && pHead.val == next.val) {
                    next = next.next;
                }
                return deleteDuplication(next);
            } else {
                pHead.next = deleteDuplication(pHead.next);
                return pHead;
            }
        }
    
        public static void main(String[] args) {
            ListNode pHead = new ListNode(1);
            pHead.next = new ListNode(1);
            pHead.next.next = new ListNode(1);
            pHead.next.next.next = new ListNode(1);
            pHead.next.next.next.next = new ListNode(1);
            pHead.next.next.next.next.next = new ListNode(1);
            pHead.next.next.next.next.next.next = new ListNode(1);
    
            System.out.println("删除重复节点前的链表");
            ListNode cur = pHead;
            while (cur != null) {
                System.out.print(cur.val + " ");
                cur = cur.next;
            }
            System.out.println();
    
            System.out.println("删除重复节点后的链表");
            Jz56 jz56 = new Jz56();
            ListNode result = jz56.deleteDuplication(pHead);
            cur = result;
            while (cur != null) {
                System.out.print(cur.val + " ");
                cur = cur.next;
            }
        }
    }
    

    【每日寄语】 每个充满希望的清晨,告诉自己努力,是为了遇见更好的自己。

  • 相关阅读:
    mysql表结构转hive表结构,字段映射脚本
    kafka 相关命令 偏移重置
    Specified key was too long; max key length is 767 bytes
    java IO 流关系图谱
    jvm 性能监控与linux常用命令
    jupiter的@TempDir 等不生效
    mysql 深度分页
    jedis的ShardedJedisPool链接池的扩容问题
    拜读《三国》看懂男人
    linux 性能优化
  • 原文地址:https://www.cnblogs.com/kaesar/p/15801450.html
Copyright © 2011-2022 走看看