news 2026/4/16 13:29:07

随机链表的复制(哈希表)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
随机链表的复制(哈希表)

主要问题就是如何让新的链表节点的random指向新的结点。直接用哈希,将旧的结点与新的节点存储为哈希表,在生成新链表时记录对应关系。到后面一起遍历两个链表,利用哈希表找到对应的random结点:

/* // Definition for a Node. class Node { public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; random = NULL; } }; */ class Solution { public: Node* copyRandomList(Node* head) { unordered_map<Node*,Node*> nm; Node* copytail=NULL; Node* copyhead=NULL; Node* cur=head; while(cur){ Node* copy=new Node(cur->val); if(copyhead==NULL){ copyhead=copytail=copy; } else{ copytail->next=copy; copytail=copy; } nm[cur]=copy; cur=cur->next; } cur=copyhead; Node* cur1=head; while(cur){ cur->random=nm[cur1->random]; cur=cur->next; cur1=cur1->next; } return copyhead; } };

通过unordered_map存储节点对应关系,确保了random指针的正确指向。关键点在于利用哈希表保存原始节点与拷贝节点的映射,从而在第二次遍历时快速查找对应的random节点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 10:27:21

QMCDecode实测报告:专业音频格式解密工具的技术突破与应用指南

QMCDecode实测报告&#xff1a;专业音频格式解密工具的技术突破与应用指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff…

作者头像 李华
网站建设 2026/4/10 1:59:00

恒流 PWM 驱动电路分析

要分析这个电路中运放、R1/R2/R3/C1 的作用,需结合电路的恒流控制逻辑(NMOS + 运放 + 反馈网络)来拆解: 1. 运放 U1 的作用 运放 U1 是恒流控制环路的误差放大器,通过负反馈稳定负载电流: 同相端输入:单片机 DAC 的直流电压(VDAC=1V) + 定时器 PWM 信号(V2=1kHz 3.…

作者头像 李华
网站建设 2026/4/12 8:51:19

KLayout完全部署手册:从零搭建专业版图设计环境

想要在半导体设计领域游刃有余&#xff1f;KLayout作为业界领先的开源版图工具&#xff0c;能够为你提供强大的GDS2/OASIS文件处理能力。本指南将带你从系统准备到高级配置&#xff0c;全方位掌握这款专业工具的部署与优化技巧。 【免费下载链接】klayout KLayout Main Sources…

作者头像 李华
网站建设 2026/4/5 8:52:20

大数据领域数据产品的团队协作与沟通

大数据领域数据产品的团队协作与沟通 关键词&#xff1a;大数据、数据产品、团队协作、沟通、数据价值 摘要&#xff1a;本文聚焦于大数据领域数据产品的团队协作与沟通。首先介绍了相关背景&#xff0c;包括目的、预期读者等内容。接着详细解释了大数据、数据产品、团队协作和…

作者头像 李华
网站建设 2026/4/13 12:02:16

SAP VDM 中的命名规范:把 CDS 视图名写成业务语言,而不是技术暗号

在 SAP S/4HANA 的世界里,CDS view 早就不只是一个写给数据库看的 SELECT。它更像一层带有业务语义的“公共语言”,把底层表字段的技术名翻译成业务可读的对象与属性,让分析、应用、集成、扩展都围绕同一套语义展开。SAP 把这套语义化的数据模型称为 VDM(Virtual Data Mode…

作者头像 李华
网站建设 2026/4/16 11:09:24

如何通过Webhook触发外部系统动作?自动化集成示例

如何通过 Webhook 实现系统自动化联动&#xff1f;基于 Anything-LLM 的实战解析 在企业知识管理日益智能化的今天&#xff0c;一个常见的挑战浮出水面&#xff1a;我们有了强大的 AI 问答系统&#xff0c;比如支持私有部署的 Anything-LLM&#xff0c;能够精准回答员工关于产品…

作者头像 李华