news 2026/5/29 18:04:43

力扣HOT100(42)链表-随机链表的复制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣HOT100(42)链表-随机链表的复制

方法一:回溯 + 哈希表(面试首选,好理解、不易错)

1. 核心思路(一句话讲透)

用一个哈希表,存「原节点 → 新节点」的一一对应关系。 这样不管什么时候,只要你需要找某个原节点对应的新节点,直接查哈希表就行,完美解决 “random 指向的节点还没创建” 的问题。

2. 完整解题步骤

  1. 创建哈希表unordered_map<Node*, Node*> cachedNode,key 是原节点,value 是对应的新节点
  2. 递归终止条件:如果当前节点是nullptr,直接返回nullptr
  3. 检查是否已复制:如果当前节点已经在哈希表中,说明已经复制过了,直接返回对应的新节点(防止重复复制)
  4. 创建新节点:复制当前节点的值,存入哈希表
  5. 递归复制指针
    • 递归复制当前节点的next节点,赋值给新节点的next
    • 递归复制当前节点的random节点,赋值给新节点的random
  6. 返回新节点
/* // 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: unordered_map<Node*,Node*> cachedNode; Node* copyRandomList(Node* head) { if(head == nullptr){ return nullptr; } if(!cachedNode.count(head)){ Node* headNew = new Node(head->val); cachedNode[head] = headNew; headNew->next = copyRandomList(head->next); headNew->random = copyRandomList(head->random); } return cachedNode[head]; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 18:01:58

矩阵系统在企业数字化获客中的实践与价值分析

一、矩阵系统&#xff1a;企业内容与获客的组织化工具随着企业数字化运营的深入&#xff0c;单一平台运营的效率逐渐降低。用户分布分散、内容竞争激烈、信息获取方式多样化&#xff0c;使得企业仅依靠传统内容发布难以形成有效获客闭环。矩阵系统作为一种组织化管理工具&#…

作者头像 李华
网站建设 2026/5/29 18:01:57

biobert_chemical_ner性能优化技巧:提升实体识别准确率的10个方法

biobert_chemical_ner性能优化技巧&#xff1a;提升实体识别准确率的10个方法 【免费下载链接】biobert_chemical_ner 项目地址: https://ai.gitcode.com/hf_mirrors/FuJianAscend/biobert_chemical_ner biobert_chemical_ner是一个基于BioBERT的化学实体识别工具&…

作者头像 李华
网站建设 2026/5/29 18:01:12

3步掌握QuPath:生物医学图像分析的革命性工具

3步掌握QuPath&#xff1a;生物医学图像分析的革命性工具 【免费下载链接】qupath QuPath - Open-source bioimage analysis for research 项目地址: https://gitcode.com/gh_mirrors/qu/qupath 你是否正在寻找一个能够处理高分辨率病理切片、进行细胞检测和组织分析的强…

作者头像 李华
网站建设 2026/5/29 18:00:05

3步将Windows电脑变成免费WiFi热点:VirtualRouter完全指南

3步将Windows电脑变成免费WiFi热点&#xff1a;VirtualRouter完全指南 【免费下载链接】VirtualRouter Wifi Hotspot for Windows computers (Windows 7, 8.x, Server 2012 and newer!) 项目地址: https://gitcode.com/gh_mirrors/vi/VirtualRouter 你是否曾经需要将有限…

作者头像 李华