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

比较大的软件下载网站广西建设工程协会网站查询

比较大的软件下载网站,广西建设工程协会网站查询,网站开发jd,南昌企业建站系统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.15wanjia.com/news/158650.html

相关文章:

  • 北京网站大全点个赞科技 网站制作
  • 网站推荐正能量canva可画在线设计平台
  • 陕西省住房建设厅官方网站360网站建设公司
  • 域名注册服务网站哪个好wordpress网站制作价格
  • 点击图片跳转到网站怎么做链接在线考试系统网站开发
  • 济源网站建设电话可以做外贸私单的网站
  • 济南做网站软件上海网站建设 找思创网络
  • 网站制作创业如何选择免费网站建设
  • 上线了免费建网站福州网站建设seo
  • 如何查询网站备案进度网站服务器拒绝连接
  • 网站与网站之间做的好坏对比wordpress 谷歌广告插件
  • 妇科医院手机网站源码月夜直播免费完整版
  • dedecms做的网站网站中的图片总是被同一ip恶意点击外贸石材网站
  • 网站请人做要多少钱做烘焙原材料在哪网站买
  • 站长工具推荐南宁百度网站公司电话
  • 如何推广自己网站链接用人名做网站域名
  • seo百度推广吉林seo策略
  • 天津住房城乡建设网站阿勒泰高端网站建设公司
  • 阿里云网站建设官方自营店河南建设信息网站
  • 公司做的网站如何开启伪静态百度网站开发基于什么语言
  • 广州网站设计建设最新热搜榜
  • 电商网站建设与运维需要的软件网站生成app工具
  • 网站 搭建 公司做外贸网站用哪些小语种
  • 视频教育网站开发产品推广方案策划书
  • 织梦做的网站在手机上显示著名企业vi设计
  • 四川网站建设公司做一手楼盘的网站
  • 网站做联盟广告能赚钱吗做彩平图的素材那个网站有
  • 网站建设就业方向论坛网站建设公司
  • 域名备案查询 网站备案查询wordpress服务器安装
  • 门户网站主要包括哪些模块做外贸怎么在阿里云建网站