JAVA练习300- 随机链表的复制
题目概览给你一个长度为n的链表每个节点包含一个额外增加的随机指针random该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。 深拷贝应该正好由n个全新节点组成其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如如果原链表中有X和Y两个节点其中X.random -- Y。那么在复制链表中对应的两个节点x和y同样有x.random -- y。返回复制链表的头节点。用一个由n个节点组成的链表来表示输入/输出中的链表。每个节点用一个[val, random_index]表示val一个表示Node.val的整数。random_index随机指针指向的节点索引范围从0到n-1如果不指向任何节点则为null。你的代码只接受原链表的头节点head作为传入参数。示例 1输入head [[7,null],[13,0],[11,4],[10,2],[1,0]]输出[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2输入head [[1,1],[2,1]]输出[[1,1],[2,1]]示例 3输入head [[3,null],[3,0],[3,null]]输出[[3,null],[3,0],[3,null]]提示0 n 1000-10^4 Node.val 10^4Node.random为null或指向链表中的节点。来源138. 随机链表的复制 - 力扣LeetCode解题分析方法哈希集合先遍历一遍链表复制链表的值和 next 指针然后用哈希集合存储旧节点和复制节点的映射然后再遍历一遍链表复制 random 指针指向那个节点就去哈希集合里面拿即可。时间复杂度O(n)空间复杂度O(n)/* // 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) { if (head null) { return null; } // copy.random copyRandomList(head.random); MapNode, Node map new HashMap(); Node node head, pre new Node(0), res pre; while(node ! null) { Node copy new Node(node.val); map.put(node, copy); pre.next copy; pre copy; node node.next; } node head; while(node ! null) { Node copy map.get(node); copy.random map.get(node.random); node node.next; } return res.next; } }

相关新闻

晶圆清洗工艺实战:从RCA到AI预测的全流程指南

晶圆清洗工艺实战:从RCA到AI预测的全流程指南

一、问题背景:清洗工艺为何是FAB的隐形门槛在半导体晶圆制造中,清洗工艺(Wafer Cleaning)是贯穿光刻、刻蚀、沉积等几乎所有关键步骤的基础工序。根据SEMI标准与行业实践数据,清洗工步占FAB(晶圆制造厂&…

2026/10/18 22:06:31 阅读更多 →
【半导体百科】光刻工艺参数优化:实战案例与Python实现

【半导体百科】光刻工艺参数优化:实战案例与Python实现

一、问题背景光刻是集成电路制造中最核心的工艺环节之一,其工艺窗口的宽窄直接决定芯片的良率和性能。在实际生产中,曝光能量、焦距、显影时间和光刻胶厚度等参数的细微偏差,都可能导致图形转移失败,进而造成晶圆报废。在28nm及以…

2026/10/20 9:54:21 阅读更多 →
干法刻蚀工艺选择比优化实战指南

干法刻蚀工艺选择比优化实战指南

一、问题背景在半导体先进制程中,干法刻蚀(Dry Etching)是实现图形化的核心技术工艺。与湿法刻蚀相比,干法刻蚀通过等离子体中的活性离子和自由基与晶圆表面材料发生化学反应,能够实现各向异性刻蚀,是亚微米…

2026/10/17 17:42:59 阅读更多 →

最新新闻

UI Recorder 实战:基于录制回放的低门槛Web自动化测试方案

UI Recorder 实战:基于录制回放的低门槛Web自动化测试方案

1. 项目概述:UI Recorder 到底解决了什么问题 做Web端测试的同学应该都有过这种经历:手工测试点来点去,一天下来眼睛花了、手腕酸了,回归用例还有一大堆没跑完。想上自动化,又绕不开那套学习曲线陡峭的框架——写定位器…

2026/10/20 18:15:49 阅读更多 →
从回调地狱到响应式数据流:RxJava核心机制与工程落地

从回调地狱到响应式数据流:RxJava核心机制与工程落地

前段时间我重构了一个老旧的数据采集模块,事情不大但特别典型:十几路传感器、一路串口、一路网络推送,全都往同一个界面汇聚。重构之前代码里全是回调嵌套,想改一个过滤条件得顺着调用链翻半天;重构之后整体逻辑变成一…

2026/10/20 18:15:49 阅读更多 →
refin-bin-0.14.tar 文本后处理工具包:日志清洗与规则部署实战

refin-bin-0.14.tar 文本后处理工具包:日志清洗与规则部署实战

简介:rEFInd 是一款面向 UEFI 固件环境的开源启动管理器,常用于 Linux、macOS 与 Windows 多系统共存的引导切换,可展示图形化启动菜单,支持自定义超时、默认系统与图标,适合具备一定 UEFI 基础的桌面用户、双系统爱好…

2026/10/20 18:15:49 阅读更多 →
证书打不开?从ASN.1编码到openssl排查全指南

证书打不开?从ASN.1编码到openssl排查全指南

不废话,直接进入正题。1. 先搞清楚报错的本质:ASN.1与证书编码是怎么回事大多数人在“打开证书”这件事上报错,第一反应是“证书坏掉了”,第二反应是“解析工具有问题”。实际从业时间久了你会发现,八成以上的情况是编…

2026/10/20 18:15:49 阅读更多 →
LSTM+ASB+ICB+DCAttention:时序预测增强模型详解

LSTM+ASB+ICB+DCAttention:时序预测增强模型详解

做时间序列预测这几年,我试过的模型不算少,从最早的ARIMA、Prophet,到后来的纯LSTM、Transformer变体,几乎每个阶段都在折腾同一个问题:怎么把“时序特征”和“状态记忆”用得更好。老实说,单一LSTM在有长期…

2026/10/20 18:15:49 阅读更多 →
NeuDecide:面向儿童语音交互的端到端轻量决策模型

NeuDecide:面向儿童语音交互的端到端轻量决策模型

1. 项目概述:一个被严重低估的“语音直通决策”范式转变最近在几个开源模型仓库和儿童教育硬件论坛里反复看到NeuDecide这个名字,点进去发现它不是又一个微调版 Whisper 或者 Whisper,而是一个彻底绕开传统语音识别(ASR&#xff0…

2026/10/20 18:14:48 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →