当前位置: 首页 > news >正文

力扣82:删除排序链表中的重复元素Ⅱ

力扣82:删除排序链表中的重复元素Ⅱ

  • 题目
  • 思路
  • 代码

题目

给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。

思路

思路很简单,我们遍历一次并且在遍历的途中使用哈希表记录每个值出现了多少次,然后再进行一次遍历来删除次数大于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) {unordered_map<int, int> um;ListNode* cur = head;ListNode* prev = nullptr;while (cur != nullptr) {um[cur->val]++;cur = cur->next;}cur = head;ListNode* newnode = new ListNode(0, head);prev = newnode;while (cur != nullptr) {ListNode* tmp = cur->next;if (um[cur->val] != 1) {prev->next = tmp;cur = tmp;} else {cur = cur->next;prev = prev->next;}}return newnode->next;}
};
http://www.dtcms.com/a/349747.html

相关文章:

  • 十分钟速通集群
  • Linux 软件编程(十一)网络编程:TCP 机制与 HTTP 协议
  • DataEase+MaxKB:让BI再多个“A”
  • 从零开始学习单片机15
  • 【OLAP】trino客户端访问Trino CLI和JDBC
  • 如何恢复删除的照片和视频?视频照片恢复的专业指南
  • zookeeper基础概念及部署
  • 蛋白质结构信息学大纲
  • Linux(四):进程状态
  • 计算机毕业设计 java 血液中心服务系统 基于 Java 的血液管理平台Java 开发的血液服务系统
  • 如何清除 Docker 容器的日志 ?
  • LevelDB SSTable模块
  • mac设置鼠标滚轮方向
  • Elasticsearch脑裂紧急处理与预防
  • 数据挖掘5.3 PCA主成分分析降维
  • AI模型接入Web搜索功能实践与最佳API服务选型
  • 扭蛋机小程序系统开发:连接线上线下娱乐的新桥梁
  • 习题库小程序的设计与实现 计算机毕业设计源码27057
  • RAG检索增强生成
  • SuiHub 台北站正式发布,助力亚洲科技生态创新
  • [读论文]Hunyuan 3D 系列
  • 【Linux系统】1.Linux基础指令与权限
  • 8月25号打卡
  • 数据采集怎么做?质量、效率与合规该怎么平衡?
  • LLM学习:langchain架构——chain
  • 2025年03月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 【AGI使用教程】GPT-OSS 本地部署(2)
  • 【广告系列】流量优选
  • 第二章 设计模式故事会之策略模式:魔王城里的勇者传说
  • AcrelEMS-EDU在实践中的应用系列—“综合能源管理”