​LeetCode解法汇总83. 删除排序链表中的重复元素

news2024/5/18 1:42:09

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:. - 力扣(LeetCode)

描述:

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。

示例 1:

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

示例 2:

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

提示:

  • 链表中节点数目在范围 [0, 300] 内
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序 排列

解题思路:

使用set存储所有遍历过的节点,

如果set中有该值,则无需处理,说明重复。

如果set中无该值,则需要判断头节点是否为空,为空则设置为头节点,否则插入到尾节点的后面。

代码:

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        Set<Integer> set = new HashSet<>();
        ListNode top = null;
        ListNode last = null;

        while (head != null) {
            ListNode next = head.next;
            if (!set.contains(head.val)) {
                set.add(head.val);
                if (top == null) {
                    top = head;
                } else {
                    last.next = head;
                }
                last = head;
                last.next = null;
            }
            head = next;
        }
        return top;
    }
}

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

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

相关文章

【论文笔记合集】卷积神经网络之深度可分离卷积(Depthwise Separable Convolution)

本文作者&#xff1a; slience_me 我看的论文地址&#xff1a;MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 内容 1. 标准卷积 假设输入为DFDFM&#xff0c;输出为输入为DFDFN&#xff0c;卷积核为DKDKM&#xff0c;共有N个卷积核进…

【AIGC入门一】Transformers 模型结构详解及代码解析

Transformers 开启了NLP一个新时代&#xff0c;注意力模块目前各类大模型的重要结构。作为刚入门LLM的新手&#xff0c;怎么能不感受一下这个“变形金刚的魅力”呢&#xff1f; 目录 Transformers ——Attention is all You Need 背景介绍 模型结构 位置编码 代码实现&…

51单片机学习总结(自学)

1、模块化编程 c语言模块化编程实现思路设计代码 具体的程序实现代码如下所示 1&#xff1a;程序的头文件 2&#xff1a;程序的函数文件 3&#xff1a;程序的主文件控制函数的实现 持续更新中......

算法部署过程中如何确保数据的安全?

在数字化时代&#xff0c;数据安全成为了企业和个人面临的一项主要挑战。随着技术的迅速发展&#xff0c;尤其在算法部署过程中&#xff0c;确保敏感数据的安全性变得更加复杂和关键。在这个背景下&#xff0c;软件加密和授权机制的作用显得尤为重要。软件加密不仅仅是转换数据…

高纯气体市场调研:预计2029年将达到331亿美元

高纯气体应用领域极宽&#xff0c;在半导体工业&#xff0c;高纯氮、氢、氩、氦可作为运载气和保护气;高纯气体可作为配制混合气的底气。随着LED和半导体的发展&#xff0c;对于其原物料生产的所需要的高纯气体&#xff0c;特别是7N级别的高纯氨气的需求不断增加&#xff0c;近…

CMake TcpServer项目 生成静态库.a / 动态库.so

CMake 实战构建TcpServer项目 静态库/动态库-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135608829?spm1001.2014.3001.5501 在这篇博客的基础上&#xff0c;我们把头文件放在include里边&#xff0c;把源文件放在src里边&#xff0c;重新构建 hehedali…

深入理解 PyTorch 激活函数:从基础到高效实用技巧(4)

目录 torch.nn.functional激活层详解 tanh 1. 函数用途 2. 参数详解 3. Tanh函数的定义及数学解释 4. 使用示例 sigmoid 1. 函数用途 2. 参数详解 3. Sigmoid函数的定义及数学解释 4. 使用示例 hardsigmoid 1. 函数用途 2. 参数详解 3. Hardsigmoid函数的定义及…

蓝桥杯AcWing学习笔记 8-1数论的学习(上)

蓝桥杯 我的AcWing 题目及图片来自蓝桥杯C AB组辅导课 数论&#xff08;上&#xff09; 蓝桥杯省赛中考的数论不是很多&#xff0c;这里讲几个蓝桥杯常考的知识点。 欧几里得算法——辗转相除法 欧几里得算法代码&#xff1a; import java.util.Scanner ;public class Main…

大物②练习题解

1.【单选题】关于磁场中磁通量&#xff0c;下面说法正确的是&#xff08; D&#xff09; A、穿过闭合曲面的总磁通量不一定为零 B、磁感线从闭合曲面内穿出&#xff0c;磁通量为负 C、磁感线从闭合曲面内穿入&#xff0c;磁通量为正D、穿过闭合曲面的总磁通量一定为零 磁感线从…

(超详细)3-YOLOV5改进-添加SE注意力机制

1、在yolov5/models下面新建一个SE.py文件&#xff0c;在里面放入下面的代码 代码如下&#xff1a; import numpy as np import torch from torch import nn from torch.nn import initclass SEAttention(nn.Module):def __init__(self, channel512,reduction16):super()._…

云渲染的官网地址是什么?

云渲染的官网地址&#xff1a;http://www.xuanran100.com/?ycode1a12 云渲染能把渲染工作从本地移到云端进行&#xff0c;不需要设计师配置高性能电脑&#xff0c;十分方便。目前国内领先的云渲染平台是渲染100&#xff0c;它有以下几个优点&#xff1a;1、使用方便 一键提交渲…

Pandas加载大数据集

Scaling to large datasets — pandas 2.1.4 documentationhttps://pandas.pydata.org/docs/user_guide/scale.html#use-efficient-datatypes官方文档提供了4种方法&#xff1a;只加载需要的列、转化数据类型、使用chunking&#xff08;转化文件存储格式&#xff09;、使用Dask…

CXYGZL-程序员工作流,持续迭代升级中

概述 现在开源的工作流引擎&#xff0c;基本都是以BPMN.js为基础的&#xff0c;导致使用门槛过高&#xff0c;非专业人员无法驾驭。本工作流借鉴钉钉/飞书的方式&#xff0c;以低代码方式降低用户使用门槛&#xff0c;即使是普通企业用户也可以几分钟内就能搭建自己的工作流引…

O2066PM无线WIFI6E网卡Windows环境吞吐测试

从2023年开始&#xff0c;除手机外的无线终端设备也逐步向WIFI6/6E进行升级更新&#xff0c;基于802.11ax技术的设备能够进一步满足用户体验新一代Wi-Fi标准时获得优质的性能和覆盖范围。 用户对于WIFI模块&#xff0c;通常会关注WIFI模块的吞吐量&#xff0c;拿到样品之后&am…

详细的二进制安装部署Mysql8.2.0

目录 一、下载版本 二、卸载MariaDB 三、MySQL二进制安装 3.1 创建mysql工作目录&#xff1a; 3.2、上传软件&#xff0c;并解压并改名为app 3.3、修改环境变量 3.4、建立mysql用户和组(如果有可忽略) 3.5、创建mysql 数据目录&#xff0c;日志目录&#xff1b;并修改权…

高级分布式系统-第15讲 分布式机器学习--概念与学习框架

高级分布式系统汇总&#xff1a;高级分布式系统目录汇总-CSDN博客 分布式机器学习的概念 人工智能蓬勃发展的原因&#xff1a;“大” 大数据&#xff1a;为人工智能技术的发展奠定了坚实的物质基础。 大规模机器学习模型&#xff1a;具备超强的表达能力&#xff0c;可以解决…

vue2使用Lottie

文章目录 学习链接1.安装依赖2.创建lottie组件3.在相对应的页面应用4.相关data.json5.测试效果 学习链接 原文链接&#xff1a;lottie在vue中的使用 lottie官网&#xff1a;https://lottiefiles.com/ 1.安装依赖 npm install lottie-web2.创建lottie组件 <template>…

JNPF低代码引擎到底是什么?

最近听说一款可以免费部署本地进行试用的低代码引擎&#xff0c;源码上支持100%源码&#xff0c;提供的功能和技术支持比较完善。借助这篇篇幅我们了解下JNPF到底是什么&#xff1f; JNPF开发平台是一款PaaS服务为核心的零代码开发平台&#xff0c;平台提供了多租户账号管理、主…

短期交易离不开的工具!10日均线在现货白银中的应用

10日均线是一根短期均线&#xff0c;对于做短线交易的现货白银投资者来说&#xff0c;它是一个很好用的工具。下面我们就来讨论一下&#xff0c;在现货白银交易中10日均线的具体应用是什么&#xff1f; 验证趋势。我们可以使用10日均线来验证趋势。由于10日均线是短期均线&…

【51单片机系列】继电器使用

文章来源&#xff1a;《零起点学Proteus单片机仿真技术》。 本文是关于继电器使用相关内容。 继电器广泛应用在工业控制中&#xff0c;通过继电器对其他大电流的电器进行控制。 继电器控制原理图如下。继电器部分包括控制线圈和3个引脚&#xff0c;A引脚接电源&#xff0c;B引…