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

day16 leetcode-hot100-32(链表11)

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

1.哈希表

思路

第一次遍历创建新节点并将原节点与新节点同时放入哈希表中

第二次遍历为新节点加入next与random

具体代码
/*
// Definition for a Node.
class Node {int val;Node next;Node random;public Node(int val) {this.val = val;this.next = null;this.random = null;}
}
*/class Solution {public Node copyRandomList(Node head) {HashMap<Node,Node> map = new HashMap<>();Node cur = head;while(cur!=null){map.put(cur,new Node(cur.val));cur=cur.next;}cur=head;while(cur!=null){Node n = map.get(cur);n.next = map.get(cur.next);n.random = map.get(cur.random);cur=cur.next;}return map.get(head);}
}

http://www.xdnf.cn/news/754633.html

相关文章:

  • 操作系统学习(十)——文件系统
  • WEB3——开发者怎么查看自己的合约日志记录
  • vscode编辑器怎么使用提高开发uVision 项目的效率,如何编译Keil MDK项目?
  • AI大模型赋能,aPaaS+iPaaS构建新一代数智化应用|爱分析报告
  • Leetcode 3569. Maximize Count of Distinct Primes After Split
  • 刷leetcode hot100--矩阵6/1
  • Java虚拟机内存区域划分
  • 数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握)
  • 【寻找Linux的奥秘】第九章:自定义SHELL
  • 【深度学习】 19. 生成模型:Diffusion Models
  • 爬虫入门:从基础到实战全攻略
  • JavaEE: wait和notify
  • debian12.9或ubuntu,vagrant离线安装插件vagrant-libvirt
  • 网络协议的原理及应用层
  • 聊一聊接口测试中缓存处理策略
  • 【萌笔趣棋】网页五子棋项目测试报告
  • 零基础上手 Cherry Studio:打造专属 AI 助手的第一步
  • 【Vue 3全栈实战】从组合式API到企业级架构设计
  • 内网怎么映射外网ip? 内网的地址快速映射给外网访问用方法
  • uni-app学习笔记二十--pages.json页面路由pages设置
  • Linux 学习-模拟实现【简易版bash】
  • 健康检查:在 .NET 微服务模板中优雅配置 Health Checks
  • Qt OpenGL编程常用类
  • 2,QT-Creator工具创建新项目教程
  • 软件的兼容性如何思考与分析?
  • Docker Compose(容器编排)
  • C/C++ 面试复习笔记(3)
  • mysql核心知识点
  • RabbitMQ-Go 性能分析
  • OpenFeign和Gateway集成Sentinel实现服务降级