news 2026/4/17 16:32:57

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

作者头像

张小明

前端开发工程师

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/17 17:21:19

大模型100问:全面指南,建议小白和程序员收藏学习

《大模型100问》是一份全面系统的大模型知识指南&#xff0c;涵盖概念、数据、训练、评估、平台、应用、安全和政策等8方面。文章采用通俗易懂的问答形式&#xff0c;介绍了大模型的基本概念、技术原理、训练方法、评估指标、应用场景和安全防护等知识&#xff0c;既适合初学者…

作者头像 李华
网站建设 2026/4/16 20:41:19

Open UI5 源代码解析之25:config.js

源代码仓库: https://github.com/SAP/openui5 源代码位置: openui5-master\src\sap.ui.core\src\sap\base\config.js sap.base.config.js 文件详解与项目作用解析 在当前项目的 sap.ui.core 模块中,sap/base/config.js 是一个承上启下的基础配置入口,它并不直接承载所…

作者头像 李华
网站建设 2026/4/17 19:22:14

gnuefkbb

fghuhyikhhhjjgf

作者头像 李华
网站建设 2026/4/17 19:42:55

SMUDebugTool完全指南:5步掌握AMD Ryzen系统深度调试

SMUDebugTool完全指南&#xff1a;5步掌握AMD Ryzen系统深度调试 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://git…

作者头像 李华
网站建设 2026/4/16 16:29:42

Python ezdxf完整指南:5步掌握DXF文件处理终极技巧

Python ezdxf完整指南&#xff1a;5步掌握DXF文件处理终极技巧 【免费下载链接】ezdxf Python interface to DXF 项目地址: https://gitcode.com/gh_mirrors/ez/ezdxf ezdxf是Python处理DXF文件的终极解决方案&#xff0c;让你无需安装AutoCAD就能轻松创建、读取和修改C…

作者头像 李华