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

加强单位门户网站建设的通知今日新闻简讯30条

加强单位门户网站建设的通知,今日新闻简讯30条,如果做网站用java,做网站需要学哪些语言02.01、[简单] 移除重复节点 1、题目描述 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 2、解题思路 为了实现这一目标,我们可以使用一个哈希表(或集合)来记录已经遇到的节点值,逐步遍历链表并删…

02.01、[简单] 移除重复节点

1、题目描述

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

2、解题思路

为了实现这一目标,我们可以使用一个哈希表(或集合)来记录已经遇到的节点值,逐步遍历链表并删除重复的节点。

具体步骤如下:

  1. 从链表的第一个节点开始遍历,创建一个哈希表来记录已经遇到的节点值。
  2. 如果遇到的节点值不在哈希表中,则将该值添加到哈希表中,并继续遍历。
  3. 如果遇到的节点值已经存在于哈希表中,说明该节点是重复的节点,将其从链表中删除。
  4. 最终返回处理后的链表。

3、代码实现与详细注释

class Solution {
public:ListNode* removeDuplicateNodes(ListNode* head) {// 边界条件:如果链表为空或只有一个节点,直接返回头节点if (head == nullptr || head->next == nullptr) {return head;}// 使用一个哈希表记录已经遇到的节点值unordered_map<int, int> hash;ListNode* cur = head;  // 从链表的第一个节点开始遍历hash[cur->val]++;      // 记录第一个节点的值// 开始遍历链表的后续节点while (cur->next) {ListNode* next = cur->next;  // 记录当前节点的下一个节点// 如果下一个节点的值已经在哈希表中出现过,说明是重复节点if (hash.count(next->val)) {// 删除重复节点:将当前节点的 next 指向下下个节点cur->next = next->next;} else {// 如果下一个节点的值没有出现过,则记录该值hash[next->val]++;// 移动当前指针到下一个节点cur = next;}}// 返回去重后的链表头节点return head;}
};

4、时间与空间复杂度分析

  • 时间复杂度: O(n),其中 n 为链表的长度。我们只需要遍历链表一次,同时每个节点的值存储或查找在哈希表中的时间是常数级别。
  • 空间复杂度: O(n),因为需要使用哈希表来存储已经访问过的节点值。

这种方法效率较高,适合链表长度较大且包含重复节点的情况。

http://www.dtcms.com/wzjs/388497.html

相关文章:

  • 网站建设都用那些软件推广新产品最好的方法
  • c 网站开发 视频游戏搜索风云榜
  • 徐州市建设工程交易网aso关键词搜索优化
  • 怎么做高端网站好看的网站ui
  • 网站建设手机端管网广州今天新闻
  • 新闻标题做的好的网站首页排名关键词优化
  • 劳务派遣许可证优化大师专业版
  • php做网站需要什么seo实战教程
  • 电商数据分析网站关键词优化报价怎么样
  • 网站优化哪里好福州百度seo
  • 什么网站可以做视频剪辑的兼职网络服务主要包括什么
  • 网站关键词设置几个郑州互联网公司排名
  • 购物商城网站设计方案网络整合营销理论
  • 为朋友做的网站网上seo研究
  • 中学生网站作品关于seo如何优化
  • wordpress评论数字验证码win10优化大师有用吗
  • 小程序代理加盟前景seo智能优化软件
  • 办公用品网站模板seo实战密码第三版pdf
  • 延安网站建设哪家专业平面设计正规培训机构
  • 给百度做网站的公司关键词优化最好的方法
  • 济南网站建设在哪里企业培训的目的和意义
  • 网站文字格式优化外包服务公司
  • wordpress本地写文章重庆seo管理平台
  • 怎么做电影网站不违法营销策略方案
  • 自己的网站怎么能让百度搜出来个人建网站步骤
  • 建设网站的分析网站排名优化首页
  • 网站建设茂名京津冀协同发展
  • 做网站设计前景怎么样百度竞价排名价格查询
  • 循化县公司网站建设企业网站优化服务
  • 做电子的外单网站有哪些的查询网站服务器