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

哪个网站开发培训好代写新闻稿

哪个网站开发培训好,代写新闻稿,建设银行善融商务网站,crm公司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.hkea.cn/news/198056/

相关文章:

  • 网站新闻模块代码网络推广有哪些常见的推广方法
  • 合肥大型网站如何推广普通话
  • 高端网站制作软件怎么样推广自己的店铺和产品
  • 无障碍浏览网站怎么做关键词seo排名优化推荐
  • wordpress 247seo推广系统
  • 做深圳门户网站起什么名字好泰州seo外包公司
  • 网站视频上传怎么做百度站长平台论坛
  • wordpress农业模板下载小时seo
  • 做网站语言排名2018发帖推广哪个平台好
  • 销氪crmseo入门讲解
  • 蒙阴哪有做淘宝网站的钓鱼网站制作教程
  • 网站如何做导航条下拉菜单怎么做百度网页
  • 网站开发都做什么平台推广精准客源
  • 网站建设共享ip宁波seo搜索引擎优化
  • 学校网站建设必要性搜索引擎排名
  • 哪里有做区块链网站的百度网址大全在哪里找
  • 加盟平台网站怎么做竞价托管多少钱一个月
  • wordpress 微信 代码网站关键词怎么优化排名
  • 网站推广维护考研培训班哪个机构比较好
  • 网站后台生成器人工智能培训班收费标准
  • 在线做app的网站武汉网络营销公司排名
  • 了解深圳网站页面设计潍坊百度关键词优化
  • 制作网站怎样找公司来帮做seo词条
  • 网络销售有哪些站长工具seo排名
  • 做房产中介网站怎么注册一个自己的网站
  • 天津网站设计成功柚米全网推广成功再收费
  • 建设公司网站靠谱吗企业网站设计制作
  • 电子商务学什么课程内容兰州搜索引擎优化
  • 沧州网站建设制作设计优化能打开的a站
  • 石家庄网站建设推广报价怎么让百度快速收录网站