Java 移除重复节点

2023-11-16

移除重复节点

难度简单97

编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。

示例1:

 输入:[1, 2, 3, 3, 2, 1]
 输出:[1, 2, 3]

示例2:

 输入:[1, 1, 1, 1, 2]
 输出:[1, 2]

提示:

  1. 链表长度在[0, 20000]范围内。
  2. 链表元素在[0, 20000]范围内。

进阶:

如果不得使用临时缓冲区,该怎么解决?

 

Java 题解

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode removeDuplicateNodes(ListNode head) {
        if(head == null){
            return null;
        }
        int[] set = new int[20001];
        ListNode ret = head;
        set[ret.val] = 1;
        while(head.next != null){
            if(set[head.next.val] == 1){
                head.next = head.next.next;
            }else{
                set[head.next.val] = 1;
                head = head.next;
            }
        }
        return ret;
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 移除重复节点 的相关文章

  • C/C++队列操作

    1 链队结构 typedef struct queuenode int data struct queuenode next Queue typedef struct Queue fronts rear linkqueue 2 入队操作 进
  • 字符设备驱动-通过GPIO子系统提供的API实现LED驱动

    前言 写文章的目的是想通过记录自己的学习过程 以便以后使用到相关的知识点可以回顾和参考 一 GPIO子系统提供的API gpio 子系统提供了 API 函数来操作指定的 GPIO gpio 子系统向驱动开发人员屏蔽了具体的读写寄存器过程 这
  • STM32硬件I2C与软件模拟I2C超详解

    作者简介 嵌入式入坑者 与大家一起加油 希望文章能够帮助各位 个人主页 rivencode的个人主页 系列专栏 玩转STM32 保持学习 保持热爱 认真分享 一起进步 目录 一 I2C协议简介 二 I2C物理层 三 I2C协议层 I2C 基
  • 面试官问:SpringBoot中@Async默认线程池导致OOM如何解决?

    前言 1 最近项目上在测试人员压测过程中发现了OOM问题 项目使用springboot搭建项目工程 通过查看日志中包含信息 unable to create new native thread 内存溢出的三种类型 1 第一种OutOfMem
  • Node.js 学习系列(一) —— 入门

    nodejs 官网 https nodejs org zh cn nodejs下载地址 https nodejs org zh cn download Node js 是一个开源 跨平台的 JavaScript 运行时环境 简单的说 就是运
  • git 环境配置 + gitee拉取代码

    好嘛 配环境的时候 老是忘记这个命令行 干脆自己写一个记录一下 也不用搜了 1 先从git官网下载git 安装 2 然后从gitee拉取代码的时候提示 这是因为换了新电脑没有加入新的公钥啦 哎 所以老是记不住命令行 first git co
  • SSL和SSH有什么区别

    许多人对SSL和SSH感到困惑 这是可以理解的 两者都是安全协议 可以帮助保护从一个端点到另一端点的数据 此外 他们的名字有两个相似的字母 增加了歧义 但是SSH和SSL是两回事 如果您感到困惑 或者对选择哪种安全协议犹豫不决 本文将为您提
  • Rk3288 Android 7.1/8.1默认开启网络ADB端口

    Rk3288 系列开机默认没有打开网络ADB端口 可通过ADB手动改打开 ADB连接后 输入 adb tcpip 5555 Android 默认为5555 输入 adb connect ip地址 可以通过 adb devices 来验证 W
  • NSIS脚本学习:判断版本并安装.NET Framework运行环境

    前言 目前开发的程序以基于 net的应用程序为主 程序开发好后 需要进行安装包的生成 及setup文件的生成 常见的是NSIS工具 之前一直用的单文件打包工具 不适合将运行环境加进去 因此开始使用更高版本的NSIS 3 06 关于判断 NE
  • dva.js yield call/put使用完整流程

    这个项目是基于dva框架的一个rn项目 对于一个新手 其实我也是菜鸟来着 来说 有很好的学习意义 首先我们来看下目录的结构 把我们定义的service引入进来 定义一个GET USER INFO的effects 注意这个函数名称前面要有 然
  • 在 Ubuntu 操作中安装Code::Blocks

    在 Ubuntu 操作 中安装Code Blocks 步骤如下 安装步骤 1 先把编译环境 C库 C 库和Boost库装好 如下 sudoapt get install build essential 有可能安装 build essenti
  • R语言常用包介绍

    r与python差异比较大的一个地方就是 python的机器学习算法集中程度比较高 比如sklearn 就集成了很多的算法 而R语言更多时候需要一个包一个包去了解 比较费时费力 对于python转过来的朋友非常不友好 抽空整理了工作中常用的
  • spark创建maven工程创建scala目录并编译

    背景 我创建spark的maven工程的时候 在java目录同级还创建了一个scala目录 这就得考虑编译相关的事了 解决 1 创建source folder 如下图所示 直接创建就好了 2 编译带来的问题 编译的时候发现一个问题 就是在s
  • WSL安装软件报错/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

    原因 usr lib wsl lib 目录下都是文件而不是链接 且该目录只读 需要在其他目录操作 解决 cd usr lib wsl sudo mkdir lib2 sudo ln s lib lib2 更改wsl配置文件 sudo vim
  • VisualStudio怎么一键注释多行以及一键取消多行注释

    一键注释多行代码 Ctrl k 然后 Ctrl c 一键取消多行注释 Ctrl k 然后 Ctrl u
  • 云主机8088端口被挖矿情况以及解决办法

    1 用top命令查询一下有没有CPU占用很高的 hadoop 10 9 15 140 top top 18 59 17 up 2 05 1 user load average 0 36 0 38 0 68 Tasks 97 total 1
  • Unity视频播放之Video Player的简单使用

    使用Unity自带的VideoPlayer来播放视频 一 准备视频 Unity3D常用视频格式 mov mpg mpeg mp4 avi asf 如果都不识别 试试转换成ogv格式 转换完成之后 将视频素材文件拖入Unity Assets文
  • Nginx中的正则匹配表达式操作符“~”和“~*“的含义

    操作符表示区分大小写的匹配 操作符表示不区分大小写的匹配 更多Nginx中正则表达式操作符的知识 请参考下面这个链接 https www cnblogs com bethal p 5514557 html
  • 二进制方式快速部署BSC主网v1.1.2

    文章目录 一 下载bsc主网快照数据 二 下载BSC二进制文件 三 下载主网配置文件及创世区块文件 四 二进制启动BSC主网 五 查询是否同步完成 BSC快照官方 https docs binance org smart chain dev
  • 任意进制的转换(C,C++)itoa函数,strtol函数,bitset函数,oct函数,dec函数,hex函数

    十进制转换为 2 10 进制代码方法 include

随机推荐

  • 单片机实现物体检测(人脸识别等)

    总述 边缘计算很有前景 对于低要求的识别任务完全可以下放到嵌入式设备运行 本文实现的应用基于TF lite Macro框架 实现 训练模型 基于YoloV3修改网络文件进行训练自己的模型 识别单个物体 模型文件机见下文连接 下载Darkne
  • 安装之openjdk

    1 先检查是否安装 dpkg list grep i jdk 2 移除openjdk包 命令 sudo apt get purge openjdk 3 卸载 OpenJDK 相关包 命令 sudo apt get purge icedtea
  • Windows下使用海康相机SDK获取图像并在Qt显示

    点击上方蓝字可直接关注 方便下次阅读 如果对你有帮助 可以点个在看 让它可以帮助到更多同志 一 一些基础信息 MVS 版本 V3 1 0 SDK 版本 V3 2 0 3 1 库与头文件位置 安装完MVS软件后 会有相机SDK的一些资料 如下
  • Sphinx——自动生成Python文档

    Sphinx是一个可自动生成python项目api的工具 使用起来也比较简单 只需要在项目上进行简单的配置 即可生成项目的api文档 简介 Sphinx是Python文档生成器 它基于reStructuredText标记语言 可自动根据项目
  • Vue.js常用的语法(一)

    在一个html文件中 我们直接可以通过script标签引入Vue js 然后就可以在页面里写Vue js代码了 我们通过new Vue 构建了一个Vue的实例 html文件 div p a p div app js var app new
  • 三十二.Python学习笔记.7

    文件和数据格式化 一 文件的使用 1 文件的理解 文件是存储在辅助存储器上的数据序列 文件是数据存储的一种形式 文件展现形态 文本文件和二进制文件 文本文件VS二进制文件 文本文件和二进制文件只是文件的展示方式 本质上 所有文件都是二进制形
  • Openlayer 5 使用坐标点查询最近的图层feature

    Openlayer 5 使用坐标点查询最近的图层feature vector getClosestFeatureToCoordinate coordinates 返回指定图层距离该坐标最近的faeture 官方API getClosestF
  • 音乐生成 - 使用LSTM和Transformer模型进行MIDI音乐生成

    欢迎来到这篇博客 在这篇文章中 我们将讨论如何使用LSTM和Transformer模型生成音乐 特别是MIDI音乐 在这个过程中 我们将使用Python编程语言以及一些常见的库 让我们开始吧 1 简介 深度学习已经在许多领域取得了显著的成功
  • 【经验总结】tcp_tw_recycle参数引发的故障

    tcp tw recycle参数引发的故障 By Eric 故障描述 2010年9月7日 新上线的手机游戏论坛有部分地区用户反应登陆游戏时出现不能登陆或登陆超时等情况 观察用户同时在线数量开始下降情况 排错过程 一 初步检查是否有变更导致的
  • C++类成员函数中const的用法

    C 类中 const的用法个人总结主要有以下几种 1 用来修饰成员变量 比如const int var 2 用来修饰形参 主要针对引用 比如const type 3 用来修饰返回值 返回常量引用 4 放在成员函数的形参列表的 之后 大括号
  • 嵌入式是什么?(一个电子产品的从0到1)-杂谈

    这篇博客 我想聊聊嵌入式 在IT行业 存在着很多不同的领域与不同的职位 由此也延伸出了各式各样的工程师 但其中嵌入式工程师算是比较迷糊的一个职位了 即便同是IT的同事也有不少问过我 嵌入式是干什么的 更别说是非IT行业的人以及刚刚入门的小白
  • VPP plugin so 的封装与解耦

    封装与解耦 每一个 plugin 封装了一个独立的功能模块 模块依赖的外部 so 接口也封装在每个 plugin 中 vpp 提供统一的使能 禁能 初始化 plugin 的框架 同时每个 plugin 对外提供的接口也使用统一的方式 大多采
  • python 输入输出相关

    输入字符串 n input 字符串可以直接遍历 输入字符串时遇到需要输出字符串的题 可以再建一个字符串用来更新 比如这道题 输入一个由小写英文字母组成的字符串 请将其中的元音字母 a e i o u 转换成大写 其它字母仍然保持小写 n i
  • FPGA 与门

    module and gate a b y input a b output y assign y a b endmodule
  • [tensorflow]联邦学习框架TFF安装记录(基于docker)

    1 介绍 tensorflow federated 下面简称为TFF 是谷歌开发的一款开源联邦学习框架 该框架基于tensorflow 下面简称为TF 运行 安装这个框架花了我两天时间 现在对安装过程进行总结 本帖子总共分为3章 第一章介绍
  • Linux 查看文件大包括隐藏文件

    du h max depth 1 sort hr
  • 实现Vue的登录页面

    实现Vue的登录页面步骤 1 前期准备 1 1 安装Node js 从官网下载地址 https nodejs org zh cn 安装完成后 在终端输入 node v 来查询版本号 1 2 安装Webpack 在终端输入npm instal
  • 测试servlet的小tips

    由于servlet中使用了一些Request请求中的参数 我们可以通过请求url中添加这些参数 传入到 Request中 一个小tips
  • GTest的测试环境搭建

    一 gtest的安装 Google test是一种比较方便的C 测试框架 它能够帮助我们比较方便的进行测试代码的编写 以及输出尽可能详细的失败信息 能够大大缩短我们测试代码的编写效率 而且该框架的使用方法也比较简单 能够降低我们学习新框架的
  • Java 移除重复节点

    移除重复节点 难度简单97 编写代码 移除未排序链表中的重复节点 保留最开始出现的节点 示例1 输入 1 2 3 3 2 1 输出 1 2 3 示例2 输入 1 1 1 1 2 输出 1 2 提示 链表长度在 0 20000 范围内 链表元