【链表-简单】83. 删除排序链表中的重复元素

【LeetCode】第83题——删除排序链表中的重复元素(难度:简单) 【LeetCode】第83题——删除排序链表中的重复元素(难度:简单)题目描述解题思路代码详解方法一(适合有序链表)方法二(适合无序链表)注意点 题目描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problem 阅读详情

【题目】
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
【示例 1】
输入:head = [1,1,2]
输出:[1,2]
【示例 2】
输入:head = [1,1,2,3,3]
输出:[1,2,3]
【提示】
链表中节点数目在范围 [0, 300] 内
-100 <= Node.val <= 100
题目数据保证链表已经按升序排列
【代码】
【Python】
在这里插入图片描述

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if not head or not head.next:
            return head
        s=set()
        pre,cur=head,head.next
        s.add(pre.val)
        while cur:
            if cur.val not in s:
                s.add(cur.val)
                pre=pre.next
            else:
                pre.next=cur.next
            cur=cur.next
        return head

【方法2】
在这里插入图片描述

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if not head:
            return head

        cur = head
        while cur.next:
            if cur.val == cur.next.val:
                cur.next = cur.next.next
            else:
                cur = cur.next

        return head
【简单】力扣算法题解析LeetCode83:删除排序链表中的重复元素 本文介绍如何删除已排序链表中的重复元素,确保每个元素仅出现一次。通过遍历链表,比较相邻节点的值,跳过重复节点即可实现。算法时间复杂度为O(n),空间复杂度为O(1)。提供Java代码实现,包含指针初始化和循环处理逻辑,最后返回修改后的链表头节点。附有示例和提示说明,帮助理解解题思路。 阅读详情

相关推荐

Ubuntu22.04下RTX2080显卡驱动、CUDA、cuDNN保姆级避坑安装指南(实测有效)

本文提供Ubuntu22.04下RTX2080显卡驱动、CUDA和cuDNN的详细安装指南,涵盖前期准备、驱动安装、CUDA版本选择、cuDNN配置及常见问题解决。通过实测有效的步骤和优化建议,帮助用户快速搭建稳定的深度学习环境,避免常见陷阱。

weixin_42540248的博客 285

[LeetCode] Remove Duplicates from Sorted List

Problem :  Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3. 1.C++版 /*

淡定从容的专栏 790

使用TensorFlow搭建FNN(全连接神经网络)的基本步骤

提示:转载请注明出处,若本文无意侵犯到您的合法权益,请及时与作者联系。 目录 一、定义神经网络的输入输出 二、搭建神经网络 1、定义一个神经层中的权重 2、定义一个神经层中的阈值 3、定义一个神经层中的激活函数 4、组合神经层为神经网络 三、搭建损失函数和优化器 1、搭建损失函数 首先介绍第一个函数这其中用到的共同的函数为 2、定义优化器 四、训练神经网络 全连接神经网络的网络结构如下: 一、定义神经网络的输入输出 神经网络最擅长的工作就是模拟非线性函数,即一个复杂的高..

qq_41959920的博客 4071

算法17: 删除排序链表中的重复元素(升序链表去重)

仅用学习,欢迎指指点点

qq_40775800的博客 1718

solidworks vba二次开发配合问题

solidworks vba二次开发配合问题二次开发装配的步骤 二次开发装配的步骤 solidworks可以使用宏录制配合过程从而得到配合的vba代码,步骤如下: 1.选择两个配合的面(点、线等) 2. 建立配合 例如将两个圆柱面同心(图中高亮): 配合后 我们看一下宏录制的代码: Sub main() //激活solidworks接口 Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc //选择两个圆柱面,注意此处是根据坐标选择,不

Alejandro123的博客 3407

【Claude Code】Not logged in 未登录错误解决方案 + /login 认证路径

Claude Code 启动时提示 Not logged in 表示当前会话缺少有效凭证。本文从环境变量、API Key 配置、CI 自动化凭证脚本和系统时钟四个维度,提供完整的认证排查流程与修复方案。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 894

删除链表中的重复元素

1.删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例一: 输入:head = [1,1,2] 输出:[1,2] 示例二: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 解题思路: 1.找到多个相邻节点的值是相同的,及是比较prev和cur(prev下一个节点)的节点值的情况。 2.找到重复元素后,重复元素保留一次,及保留第一个重复元素,prev指向的是第一个重复节点,删除

a1085653724的博客 6959

从一只龙虾到一支团队:OpenClaw 单 Bot 多 Agent 配置实践

单 Bot 多 Agent只有一个对外的聊天入口(飞书 Bot)内部有多个独立的 AI Agent,各司其职主 Agent(总指挥)负责接收任务并分配给子 Agent子 Agent 完成任务后将结果返回给主 Agent角色Agent ID职责使用场景🎯 总指挥main-agent统筹协调,任务分发接收所有用户请求✍️ 笔杆子内容创作公众号、博客、小红书🔬 参谋canmou深度研究竞品分析、市场调研📋 运营官operations运营管理邮件、日历、社交媒体。

Maynor的博客 1084

(链表)删除排序链表中的重复元素

此篇是针对链表的经典练习。

MrYin的博客 1487

Openclaw接入大模型API,操作本地windows文件

本文介绍了在WSL2环境下配置OpenClaw使用阿里百炼API的方法。主要内容包括:1)确认WSL2安装完成;2)配置阿里百炼API(需注意Qwen3-Max-Thinking为收费模型);3)提供正确的JSON配置格式示例,强调apiKey必须填写真实值;4)说明配置错误需修改Linux配置文件;5)建议通过询问模型信息验证连接成功。后续将介绍如何切换免费API及本地文件访问功能。

qq_27246521的博客 989

华为OD机试双机位C卷-几何平均值最大子数组(Py/Java/C/C++/Js/Go)

华为OD机试(机考)2026双机位C卷 【几何平均值最大子数组】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【几何平均值最大子数组】。

qq_45776114的博客 1368

删除排序链表中的重复元素

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 提示: 链表中节点数目在范围 [0, 300] 内 -100 <= Node.val <= 100 题目数据保证链表已经按升序排列 来源:力扣(LeetCode) 链接:https://leetcode-cn

weixin_45962741的博客 979

【数字IC刷题】华为海思数字IC笔试题(1)详细解析版

【数字IC刷题】华为海思数字IC笔试题(1)详细解析版

MoorePlus的博客 4223

83. 删除排序链表中的重复元素【简单】

83. 删除排序链表中的重复元素 题目描述: 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 提示: 链表中节点数目在范围 [0, 300] 内 -100 <= Node.val <= 100 题目数据保证链表已经按升序排列 JAVA代码: 思

伍六琪的博客 192

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

leetcode题:83. 删除排序链表中的重复元素(简单)

一、题目描述:83. 删除排序链表中的重复元素(简单) 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例1: 输入: 1->1->2 输出: 1->2 示例2: 输入: 1->1->2->3->3 输出: 1->2->3 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/p...

tankpanv的博客 221

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LeetCode-83、删除排序链表中的重复元素-简单

LeetCode-83、删除排序链表中的重复元素-简单 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例1: 输入: 1->1->2 输出: 1->2 示例2: 输入: 1->1->2->3->3 输出: 1->2->3 代码: # Definition for singly-linked li...

clover_my的博客 103

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Leetcode—83.删除排序链表中的重复元素【简单】

运行结果 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

Atticus的博客 324

83. 删除排序链表中的重复元素[简单]

题目 菜鸟解答 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* deleteDuplicates(struct ListNode* head){ struct Lis...

Keep 151

【LeetCode】【Java】【链表】83. 删除排序链表中的重复元素【简单】

83. 删除排序链表中的重复元素 当时想的复杂了,乱想,想着value相同的作为子链表,遍历到子链表末尾和下一个value不等为分割点,实际用起来太复杂了,顾头不顾尾的。 挨个遍历不就好了!!! 思路: 判断前后两个值是否相等,相等:next指向next的next 不相等:cursor游标指向这个产生不同的节点 循环第一步 更改后的链表头结点并未改动,应该说head...

jiaoyueaike的博客 130

【LeetCode简单题83】16-- 删除排序链表中的重复元素

声明 添加要改颜色的字体 添加要改颜色的字体 添加要改颜色的字体 添加要改颜色的字体 题目 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 正文 思路1: python中有个什么函数,可...

时间停止的那刻 227

LeetCode_双指针_简单_83.删除排序链表中的重复元素

目录1.题目2.思路3.代码实现(Java) 1.题目 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素只出现一次 。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 提示: 链表中节点数目在范围 [0, 300] 内 -100 <= Node.val <= 100 题目数据保证链表已经按升序排列 来源:力扣(LeetC

代码星辰的博客 1494

83. 删除排序链表中的重复元素(简单题)

题目描述: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-duplicates-fr...

闭关修炼 225

83、删除排序链表中的重复元素(简单)

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode deleteDuplicates(ListNode head) { if (head==null||head.nex.

qq_39612954的博客 106

LeedCode<简单>83. 删除排序链表中的重复元素【链表递归-递归分析】

题目描述: 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 常规方法一:while循环 var deleteDuplicates = function (head){ if(head==null || head.next==null){

拯救世界的光太郎 252

【LeetCode-简单】83. 删除排序链表中的重复元素(详解)

java:双指针法、直接遍历法

丨康有为丨的博客 469

链表简单 牛客NC.25删除有序链表中重复的元素 leetcode83. 删除排序链表中的重复元素

83. 删除排序链表中的重复元素 题目描述 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3->3 输出: 1->2->3 leetcode官方题解: 仅测试你操作列表的结点指针的能力。由于输入的列表已排序,因此我们可以通过将结点的值与它之后的结点进行比较来确定它是否为重复结点。如果它是重复的,我们更改当前结点的 next 指针,以便它跳过下一个

31楼下小黑的博客 217
上一篇: 【链表-简单】160. 相交链表(两种方法,无语一样的题出了好几遍)
下一篇: 【简单】1800. 最大升序子数组和(两种方法,空间复杂度分别是:O(1)、O(n))
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值