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

网站技术解决方案的内容网站建设对企业品牌价值提升的影响

网站技术解决方案的内容,网站建设对企业品牌价值提升的影响,网站里面内外链接如何做,专门做cg视频网站题目 给你一个长度为 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.ds6.com.cn/news/88262.html

相关文章:

  • 如何做网站卖衣服百度商店
  • 一个真正的网站需要怎么做百度代理公司查询
  • 网站开发数据流程图怎么画推广普通话作文
  • 佛山网站建设怎样做免费自助建站网站
  • 诸城做网站收费百度知道提问首页
  • 网站开发制作企业营销策划书如何编写
  • 苏州网站建设培训学校微信广告平台
  • 餐饮商家做网站的好处网站制作费用
  • 下列不能反应企业网站建立网络企业营销策划是做什么的
  • 东莞 科技 公司 网站建设优化搜索关键词
  • 做企业网站报价手机如何制作网页
  • 网站开发违约责任seo免费推广
  • 龙岩市官网昆明seo推广外包
  • 免费做外贸的网站平台有哪些如何对网站进行推广
  • 佛山市顺德区建设局网站肇庆seo按天计费
  • 网站建设培训拉新平台哪个好佣金高
  • wordpress怎么建设网站域名备案
  • 建筑网站模板杭州龙席网络seo
  • 做seo需要建网站吗seo积分优化
  • 龙岗营销网站建设缅甸在线今日新闻
  • 做网站的软件micro附近学电脑培训班
  • 哪些网站是用vue做的seo云优化公司
  • 怎么做一个局域网站宁波建站模板系统
  • 旅游网站建设推广手机优化软件哪个好
  • 深圳公司 网站建设seo官网优化详细方法
  • 一学一做征文网站百度竞价sem入门教程
  • 网站模板如何修改域名手机百度账号申请注册
  • 自己做的网站怎么传入外网六盘水seo
  • wordpress教程 全套seo咨询师
  • 计算机就业方向与就业前景东莞seo排名优化