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

2025年- H41-Lc149 --138. 随机链表的复制(链表,哈希)-(需二刷)--Java版

1.题目描述

在这里插入图片描述
在这里插入图片描述

2.思路

在这里插入图片描述
我的理解是拷贝就说把第二个数往前移动1格,以此类推,后往前移动一格
(ABC)(BCA)

3.代码实现

/*
// 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) {Node cur=head;if(head==null){return null;}Map<Node,Node> map=new HashMap<>();//3.赋值各节点,建立原节点-》新节点的映射(map)while(cur!=null){Node curVal=new Node(cur.val);//把节点的值存到map里面map.put(cur,curVal);cur=cur.next;}//这段代码结束,说明遍历完原链表,此时cur=null// 如果不重新赋值,cur 此时是 null,第二个while 根本不会进入!cur=head;//4.构建链表next和randaom指向while(cur!=null){map.get(cur).next=map.get(cur.next);map.get(cur).random=map.get(cur.random);cur=cur.next;}//5.返回新链表的头节点return map.get(head);}
}

相关文章:

  • mingw下使用msvc的onnxruntime库
  • 某数官网 点选验证
  • 《C 语言字符串操作从入门到实战(下篇):strncpy/strncat/strstr 等函数原理与实现》
  • (初级)前端初学者入门指南:HTML5与CSS3核心知识详解
  • 安卓手机安装 ChatGPT 全流程图文指南
  • KaihongOS设备开发中Sensor 驱动开发
  • 【ffmpeg】硬软编码
  • 深入理解Diffusers: 从基础到Stable Diffusion
  • Tomcat多实例配置
  • AttributeError: module ‘cv2.dnn‘ has no attribute ‘DictValue‘错误解决方法
  • PCB设计教程【入门篇】——电路分析基础-电路定理
  • Android logcat命令汇总
  • Dockers Compose常用指令介绍
  • 深入探究C++11的核心特性
  • Armadillo C++ 线性代数库介绍与使用
  • 深入探讨Java循环:类型、性能与优化
  • 【Java高阶面经:数据库篇】19、分库分表查询困境:无分库分表键时的高效应对
  • 鸿蒙运动开发:计算户外运动步频与步幅,与地图路线绘制
  • 在 “Linux 9“ 系统快速安装配置RabbitMQ
  • 英伟达有意入股 PsiQuantum,释放战略转向量子计算的重要信号
  • 做视频网站对服务器要去/郑州seo优化外包公司
  • 做宠物网站心得/国际国内新闻最新消息今天
  • 如何做网站的教程视频/收录入口在线提交
  • 微信优惠群怎么做网站/seo文章生成器
  • wordpress图片不显示/优化大师怎么样
  • vue 网站做中英文切换/互联网行业都有哪些工作