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

做嗳啪啪 网站百度高级搜索功能

做嗳啪啪 网站,百度高级搜索功能,好看的网站都找谁做的,手机做ppt的免费模板下载网站一、问题描述 138. 随机链表的复制 - 力扣(LeetCode) 题目要求对一个带有随机指针(random)的链表进行深拷贝。深拷贝的规则是: 新建与原链表长度相同的全新节点,值与原节点对应相同。新节点的next和rando…

一、问题描述

138. 随机链表的复制 - 力扣(LeetCode)

题目要求对一个带有随机指针(random)的链表进行深拷贝。深拷贝的规则是:

  • 新建与原链表长度相同的全新节点,值与原节点对应相同。
  • 新节点的nextrandom指针需指向复制链表中的新节点,且指针指向关系与原链表完全一致,不能指向原链表节点。

输入为原链表头节点,输出为复制链表的头节点。示例输入输出如下:

  • 示例 1
    • 输入:[[7,null], [13,0], [11,4], [10,2], [1,0]]
    • 输出:[[7,null], [13,0], [11,4], [10,2],[1,0]]

二、代码实现与详解

(一)链表节点定义

struct Node {int val;struct Node *next;struct Node *random;
};

(二)在原链表每个节点后插入copy

Node* cur = head;while(cur){Node* copy = (Node*)malloc(sizeof(Node));if(copy == NULL){perror("malloc fail!");exit(1);}copy->val = cur->val;copy->next = cur->next;cur->next = copy;cur = copy->next;}

(三)控制random

 cur = head;while(cur){Node* copy = cur->next;if(cur->random == NULL){copy->random = NULL;}else{copy->random = cur->random->next;}cur = copy->next;}

(四)尾插连接copy,恢复原链表

Node* copyhead = NULL, *copytail = NULL;cur = head;while(cur){Node* copy = cur->next;Node* next = copy->next;if(copytail == NULL){copyhead = copytail = copy;}else{copytail->next = copy;copytail = copytail->next;}cur->next = next;cur = next;}return copyhead;

三、扩展思考

高效解法:哈希表映射法

核心思想

通过哈希表建立原节点与新节点的一一映射关系,确保在复制过程中能快速找到对应新节点,从而正确设置random指针。

步骤分解
  1. 第一次遍历:创建新节点并建立映射
    遍历原链表,为每个原节点创建对应的新节点,将原节点作为键、新节点作为值存入哈希表。

  2. 第二次遍历:设置新节点的nextrandom指针
    再次遍历原链表,通过哈希表获取当前原节点对应的新节点,以及原节点nextrandom指向的原节点对应的新节点,完成指针赋值。

四、总结

随机链表的复制问题核心在于处理random指针的跨节点引用,哈希表映射法通过建立原节点与新节点的直接关联,简洁高效地解决了这一问题。在实际开发中,需根据编程语言特性选择合适的数据结构,并注意内存管理(如 C 语言的动态内存分配与释放)。通过两次遍历和哈希表映射,可确保深拷贝的正确性和完整性。

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

相关文章:

  • 温岭 网站建设成人用品网店进货渠道
  • 海纳企业网站建设seo模拟点击软件
  • 做软件的中介网站发软文
  • 外网进入学校内局域网建设的网站全国疫情排行榜最新情况列表
  • 苹果手机做网站手机卡顿优化软件
  • 网站开发工资高嘛如何在百度上做广告宣传
  • 深圳宝安西乡疫情搜外seo
  • 在深圳做网站平台需要什么备案百度官网认证
  • 如何做解析网站青岛关键词搜索排名
  • 宁波网站建设在哪里手机百度一下百度
  • 柳州市建设工程质量安全监督管理处网站怎么在百度上推广自己
  • 做网站网站建设教程百度广告搜索推广
  • 四川网站建设服务网络推广人员是干什么的
  • 上海seo整站优化班级优化大师客服电话
  • 做网站租用那个服务器好专业恶意点击软件
  • 为何网站打不开深圳优化公司找高粱seo服务
  • 网站制作论文总结锦州网站seo
  • 为企业做网站还有前途吗网站收录大全
  • 无锡网站建设推广公司怎么弄一个网站平台
  • 做会计网站的流程图国际最新消息
  • 建材销售网站手机模板html友情链接
  • 做设计接私活的网站福建百度推广
  • 有新浪的域名怎么做网站win7优化大师官方免费下载
  • 京东网站建设流程和结构图惠州自动seo
  • 网站索引量突然下降优化系统软件
  • 网站建设情况报告seo技术助理
  • 广东短视频seo搜索哪家好seo优化报告
  • 百度蜘蛛网站seo常用的工具
  • 网站建设有哪些软件有哪些seo上首页排名
  • 做网站还赚钱吗关键词挖掘网站