NC 删除有序链表中重复的元素-II

news2024/11/15 13:30:26

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。
例如:在这里插入图片描述

import java.util.*;
 
/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */
 
public class Solution {
    /**
     *
     * @param head ListNode类
     * @return ListNode类
     */
    public ListNode deleteDuplicates(ListNode head) {
        if(head == null){
            return null;
        }
        if(head.next != null && head.val == head.next.val){//发现有重复值
                while(head.next != null && head.val == head.next.val){
                    head = head.next;//删除
            }
            return deleteDuplicates(head.next);//把与删除的那个结点相同的结点也进行删除
        }
        head.next = deleteDuplicates(head.next);//当没有发现重复值的情况,就一直进行递归操作
        return head;
    }
}

递归操作,将链表元素值进行递归,重复递归导致其时间复杂度为O(N),因为没有占用任何的内存空间,所以其空间复杂度为O(1)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1956771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

复杂系统科学之钥——从简单交互到宏观行为的涌现公式

复杂系统科学之钥——从简单交互到宏观行为的涌现公式 简单交互与宏观行为的类比 你可以把简单交互比作“音符”,而宏观行为就像是“乐章”,复杂系统科学就是研究如何从众多音符演奏出美妙乐章的学问。 复杂系统科学的核心作用 组件/步骤描述简单交互个…

这可能是开源界最好用的能源管理系统

💂 个人网站: IT知识小屋🤟 版权: 本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 文章目录 写在前面项目简介项目特点项目架构模块展示项目获取 写在前面 大…

为什么日本的就业率那么高?原因是什么?

数据显示,2024年,日本大学生就业为98.1%,是自1997年以来的最高水平。不是说日本经济快崩了嘛,怎么就业率会如此高呢? 其中最主要的原因还是与就业率的统计有关。 有网友说,在日本工作,主要分为…

企知道 接口逆向:AES加密

🔐 登录接口逆向 🕵️ 抓包登录接口 使用抓包工具捕获企知道的登录接口请求,观察到密码参数是加密的密文,传输给后端服务器。 🧩 跟栈到密码加密位置 通过浏览器开发者工具,跟踪JS代码栈,找…

什么是数据中台?从哪些方面加深对数据中台的认知?需要理清些什么概念?数据中台的意义是什么?

目录 一、数据中台的产生与发展 1.1 脱胎于大数据的发展 1.2 概念诞生于中国 二、数据中台的定义 2.1 概述 2.2 定义一 2.2 定义二 2.3 定义三 2.4 定义四 2.5 定义五 2.6 我对数据中台的解读 三、对数据中台的认知 3.1 概述 3.2 数据中台需要提升战略高度&#x…

Python学习笔记47:游戏篇之外星人入侵(八)

前言 在上篇文章中,我们在游戏窗口中加载三行外星人。文章中也说过我们加载外星人的方式是比较简单的加载方式:一次性加载固定数量的外星人,并且以同样的方式重复加载。这种加载方式简单易懂,比较适合新手,如果想要一…

c++----日期类

今天这篇博客是对我们上面的两篇博客的一个小小的检验。我们今天来实现一下我们手机上的一个小功能。对日期的实现。那么如何实现以及使用哪些知识,我们马上来看看吧。 思想概括 其实实现日期类并不是什么难事。如果用c语言的话大家可能会觉得很简单,主…

【VS Code】我用到的一些VS Code插件和命令

【命令】 打开终端: Ctrl ~ 【插件】 材质图标主题插件:Material Icon Theme 让文件图标看起来更美丽

yandex图标点选验证码YOLOV8识别案例

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 某yandex图标点选验证码如下: 使用过yolov8的小伙伴可能都知道,这种直接打个标注,基本上就可以了,至于问题图片由于不能很好的切割做分类,所以干脆也做成目标…

还在用JVM跑你的Java代码吗?太慢了,试试Oracle的GraalVM吧

前言 对于Java开发者们来说,几乎每天都在和JVM打交道,然而JVM即将过时了。那些对新技术保持敏锐洞察力的开发者,可能已经在生产环境中部署GraalVM生成的二进制程序了,小伙伴们,你们已经用起来了吗? Graal…

AOP~面向切面编程介绍

AOP基础 概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),面向特定方法的编程。 动态代理是面向切面编程最主流的实现。 SpringAOP是Spring框架的高级技术,旨在管理bean对象的过程中&#xff0c…

【基础篇】Docker 架构与组件 TWO

嗨,小伙伴们!我是小竹笋,一名热爱创作的工程师。上一篇我们聊了聊 Docker 的历史与发展、与虚拟机的对比以及它在行业中的应用。今天,让我们更进一步,深入探讨 Docker 的架构与关键组件。 欢迎订阅公众号:…

Fantastic-admin:Vue 中后台管理系统

Fantastic-admin:Vue 中后台管理系统 在当今的前端开发世界里,fantastic-admin 作为一款功能强大的 Vue 中后台管理系统框架,简直是开发者的福音。本文将介绍 fantastic-admin 的基本信息、特点,以及如何快速上手和使用。 项目简介…

亚信安慧AntDB亮相PostgreSQL中国技术大会,获“数据库最佳应用奖”并分享数据库应用实践

7月12日,第13届PostgreSQL中国技术大会在杭州顺利举办,亚信安慧AntDB数据库荣获“数据库最佳应用奖”。大会上,亚信安慧AntDB数据库同事带来《基于AntDB的CRM系统全域数据库替换实践》和《亚信安慧AntDB数据库运维之路》两场精彩演讲&#xf…

AWS资源购买和使用:亚马逊云显示配额不足怎么解决

亚马逊云显示配额不足是许多AWS用户在使用云服务时可能遇到的常见问题。这种情况通常发生在用户试图启动新的EC2实例或扩展现有资源时,系统提示已达到特定资源类型的限制。本文中九河云将跟你们一起探讨这一问题的原因及其解决方案。 首先,了解AWS配额的…

最便宜的iPhone SE 4要来,配置爆炸但砍了灵魂

前几天乐视刚刚发布了「低配青春 AIR 版 iPhone SE 4」,电友们就坐不住了,纷纷问真 iPhone SE 4 究竟什么时候才能来。 阿红也去挖了一下情报,别说,还真在路上了。 众所周知,最近一代,也就是第三代 iPhone…

Liquibase 增加一列主键,自动生成 UUID:最佳实践与深度解析

哈喽,大家好,我是木头左! 自动生成 UUID UUID 是一种全局唯一的标识符,通常由 32 个十六进制数字组成,分为五组,形式如下: 123e4567-e89b-12d3-a456-426614174000在 Java 中,可以使…

从零开始写 Docker(十九)---增加 cgroup v2 支持

本文为从零开始写 Docker 系列第十九篇,添加对 cgroup v2 的支持。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现有一个大致认识: 核心原理:深入理解 Docker 核心原理&#xff1a…

解锁未来安全:WT2003HP8芯片如何重塑智能电子锁的安全性与智能化体验

WT2003HP8混音芯片:智能电子锁的声音守护者 在当今这个追求智能化、便捷化的时代,智能电子锁作为智能家居的重要组成部分,正逐步改变着我们的生活方式。而WT2003HP8混音芯片,凭借其卓越的性能和广泛的应用潜力,在智能…

AFSim 仿真系统--任务处理器入门指南

任务处理器 任务处理器(WSF_TASK_PROCESSOR)是一个WSF处理器,它提供了检查轨迹管理器中的数据(轨迹)并对其采取行动的能力。这些行动包括: *向下属分配任务 *激活或停用传感器或干扰器 *开火武器 *操纵平台…