news 2026/7/1 22:13:56

day139—链表—删除排序链表中的重复元素(LeetCode-83)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
day139—链表—删除排序链表中的重复元素(LeetCode-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
  • 题目数据保证链表已经按升序排列

解决方案:

这段代码的核心功能是删除升序单链表中的重复节点(仅保留每个元素的唯一实例,比如原链表 1→1→2→3→3 变为 1→2→3),采用「一次遍历 + 指针跳过重复节点」的方式实现,时间复杂度O(n)、空间复杂度O(1),是该问题的经典最优解法。

核心逻辑

代码利用链表 “升序” 的特性,只需遍历一次即可识别并删除重复节点,无需额外空间:

  1. 边界处理:若链表为空(headnullptr),直接返回nullptr
  2. 遍历去重:用指针cur从链表头节点开始遍历,循环条件为cur->next不为空:
    • 若当前节点值等于下一个节点值(cur->val == cur->next->val),说明存在重复,将cur->next指向cur->next->next,跳过重复节点;
    • 若值不相等,说明无重复,将cur移动到下一个节点继续遍历;
  3. 返回结果:遍历完成后,原链表已完成去重,返回头节点head即可。

总结

  1. 核心思路:依托升序链表的特性,重复节点必相邻,通过 “跳过重复节点” 的指针操作完成去重;
  2. 关键细节:仅当节点值不相等时才移动cur,避免漏删连续重复的节点;
  3. 效率特点:一次遍历完成所有去重操作,时间O(n)、空间O(1),是升序链表去重的最优解法。

函数源码:

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: ListNode* deleteDuplicates(ListNode* head) { if(!head) return nullptr; ListNode* cur=head; while(cur->next){ if(cur->val==cur->next->val){ cur->next=cur->next->next; } else{ cur=cur->next; } } return head; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 12:36:18

MinerU文档理解精度实测:部署教程+真实样例结果展示

MinerU文档理解精度实测&#xff1a;部署教程真实样例结果展示 1. 引言 在当前信息爆炸的时代&#xff0c;智能文档理解技术正成为提升办公效率、加速科研阅读的关键工具。传统的OCR技术虽能提取文字&#xff0c;但在语义理解、图表解析和上下文关联方面存在明显短板。为此&a…

作者头像 李华
网站建设 2026/6/29 1:37:46

Qwen3-Reranker-0.6B实战:多语言文本聚类系统搭建

Qwen3-Reranker-0.6B实战&#xff1a;多语言文本聚类系统搭建 1. 引言 随着信息量的爆炸式增长&#xff0c;如何高效组织和理解大规模文本数据成为自然语言处理领域的重要挑战。在搜索、推荐、知识管理等场景中&#xff0c;文本聚类作为无监督学习的核心任务之一&#xff0c;…

作者头像 李华
网站建设 2026/6/29 13:32:41

腾讯Youtu-2B应用开发:从创意到落地的全流程

腾讯Youtu-2B应用开发&#xff1a;从创意到落地的全流程 1. 引言 随着大语言模型&#xff08;LLM&#xff09;技术的快速发展&#xff0c;轻量化、高性能的端侧模型正成为AI应用落地的重要方向。在资源受限或对响应速度有高要求的场景中&#xff0c;如何在保证推理质量的同时…

作者头像 李华
网站建设 2026/6/29 0:13:49

一键对比:三大中文物体识别镜像性能横评

一键对比&#xff1a;三大中文物体识别镜像性能横评 企业在推进智能化升级过程中&#xff0c;图像识别技术正成为提升效率、优化流程的关键工具。无论是智能安防、工业质检&#xff0c;还是零售分析、物流分拣&#xff0c;准确快速地“看懂”图像内容都至关重要。然而&#xf…

作者头像 李华
网站建设 2026/6/30 1:19:01

MGeo模型备份与恢复:防止意外删除的重要数据保护措施

MGeo模型备份与恢复&#xff1a;防止意外删除的重要数据保护措施 1. 引言 在自然语言处理和地理信息系统的交叉领域&#xff0c;地址相似度匹配是一项关键任务&#xff0c;广泛应用于实体对齐、数据去重、位置服务优化等场景。MGeo 是由阿里开源的一款专注于中文地址语义理解…

作者头像 李华
网站建设 2026/6/26 12:29:23

Z-Image-Turbo推理加速技巧:函数评估次数优化实战

Z-Image-Turbo推理加速技巧&#xff1a;函数评估次数优化实战 1. 引言&#xff1a;Z-Image-ComfyUI 的工程价值与挑战 随着文生图大模型在内容创作、广告设计和数字艺术等领域的广泛应用&#xff0c;推理效率已成为决定其能否落地的关键因素。阿里最新开源的 Z-Image-Turbo 模…

作者头像 李华