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

力扣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]; } };
http://www.jsqmd.com/news/911217/

相关文章:

  • 基于Arduino的边缘AI环境行为感知系统:从传感器融合到实时分类
  • 深度解析IBM Granite-4.1-8B架构:GQA与RoPE如何实现13万字超长上下文处理
  • 2026东莞松山湖二手房翻新改造靠谱企业盘点 本土实力品牌领跑市场 - 资讯速览
  • 3步学会:WeChatMsg让微信聊天记录永不丢失
  • 如何快速上手mootdx:Python通达信数据读取的终极实战指南
  • 如何5分钟免费解锁Switch终极性能:Atmosphere大气层系统完整指南
  • 别再只懂free命令了!用dmidecode在CentOS 7上彻底摸清服务器内存家底(型号、厂商、空槽位一网打尽)
  • EFcore不使用外键,处理一对多关系
  • 财务人必看的Lindy自动化真相:为什么83%的试点项目在第3周失败?
  • Python开发者如何高效使用ChatGPT:从环境配置到实战应用
  • 收藏!AI大模型时代,小白程序员如何逆袭?这份路线图请收好!
  • 使用PyTorch实现猫狗分类Python源码及准确度对比(CNN、VGG16迁移学习两张方式)
  • 基于Arduino与AI的Furby智能改造:硬件拆解与Python集成实践
  • 在 VS2022 中创建 Presenter 文件对
  • 3种Janus-7B应用场景:从客服助手到个性化内容创作
  • Simple Live终极指南:一站式跨平台直播聚合解决方案,5分钟搭建专属直播中心
  • GA/T 1400协议实战:用Java和RestTemplate搞定通知消息推送(附完整代码)
  • 医药冷链运输的温湿度监控能做到无人值守吗?企业级Agent如何重塑效率
  • 深入解析LibreHardwareMonitor:开源硬件监控解决方案的核心架构与实践应用
  • 免费写标书软件推荐:一个功能永久免费的标书AI,值不值得试? - 陈工0237
  • 2026上海黄金回收TOP5靠谱商家(实测推荐)上海捷当黄金领跑黄金回收靠谱榜单 - 资讯快报
  • BERT-large-uncased训练数据揭秘:BookCorpus+Wikipedia的11亿词元预训练
  • 2026年前端开发完全指南:AI辅助写组件、调Bug、生成接口代码,效率翻倍
  • 开源矢量网络分析仪LibreVNA:从6GHz射频测量到专业级信号分析的完整指南
  • Gemma-4-31B-it-assistant:Google开源多模态AI助手完全指南
  • 企业矩阵系统建设实践:从账号管理到AI内容协同
  • 2026徐州黄金回收甄选TOP4:仅这几家满足零投诉无隐形扣费 - 生活测评君
  • 微信聊天记录永久保存终极指南:如何让每一段对话都成为永恒记忆
  • 深度解析:洛雪音乐音源架构的技术实现与性能优化
  • 基于Raspberry Pi Pico与MicroPython的嵌入式记忆游戏开发实战