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

网站制作技术方案培训机构管理系统

网站制作技术方案,培训机构管理系统,关掉自己做的网站,如何选择网站开发语言题目 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点…

题目

给你一个长度为 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. 先排除特殊情况:若链表为null则直接返回null;
  2. 使用Map存储原始链表的节点和对应索引;
  3. 使用List来存储复制后链表的节点;
  4. while循环完成节点复制、next链接和存储;
  5. 从Map和List中获取首节点进行第二次遍历;
  6. 第二次遍历建立random链接。

代码展示

class Solution {public Node copyRandomList(Node head) {//排除特殊情况if (head == null){return null;}Node ans = new Node(head.val);//需要获取random的索引,所以用map比遍历List要便捷Map<Node, Integer> headMap = new HashMap<>();//只需要根据索引获取对应节点,List本身是有序的,所以不需要用MapList<Node> ansList = new ArrayList<>();int index = 0;headMap.put(head, index);ansList.add(ans);//遍历生成所有节点并存储起来while (head.next != null){head = head.next;ans.next = new Node(head.val);index++;headMap.put(head, index);ansList.add(ans.next);ans = ans.next;}for (Node node : headMap.keySet()){if(headMap.get(node) == 0){head = node;break;}}ans = ansList.get(0);while (head != null && ans != null){Integer num = headMap.get(head.random);Node temp = null;if(num != null){temp = ansList.get(num);}ans.random = temp;head = head.next;ans = ans.next;}return ansList.get(0);}
}

http://www.mmbaike.com/news/84490.html

相关文章:

  • php旅游网站cms台湾搜索引擎
  • 滨州的网站开发厦门人才网唯一官网
  • wordpress 宽版88个seo网站优化基础知识点
  • 注册企业注册公司重庆网站优化公司
  • 怎么做自适应的网站外贸网站优化
  • 聊城做网站的公司资讯重庆seo报价
  • 动态网站制作好了在哪里看简单网页制作模板
  • 农业推广调查报告连云港seo优化
  • 如何做wap网站代写1000字多少钱
  • 网站建设的七大优缺点百度关键词排名优化
  • 超便宜的网站万网域名查询
  • 金坛网站建设网站改版seo建议
  • 网站定制报价建网站找哪个公司
  • 租整套房做民宿的网站google下载安卓版下载
  • 淮南招聘网站建设精准推广引流5000客源
  • 网站各个级别建设费用企业营销策划有限公司
  • 专业上海网站建设怎么给公司做网站
  • 企业网站建站意义石嘴山网站seo
  • 个人主页网站申请批量查询指数
  • 中国建设银行建银购网站深圳搜索引擎优化收费
  • 做公司网站有什么需要注意的营销型网站开发公司
  • 工作一般做网站视频的工作叫做什么今天国内最新消息
  • 网上卖货哪个平台比较好武汉seo招聘信息
  • 广西网站建设网站seo策划
  • 宏升温岭网站建设今日新闻快讯10条
  • 电商网站建设源码友の 连接
  • 网站展示 包括什么建一个网站大概需要多少钱
  • 网站建设的主要流程百度广告投诉电话
  • 商标局网站可以做变更吗站长工具查询网站
  • 自己做网站推广产品快速优化工具