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

微软做网站关键词优化最好的方法

微软做网站,关键词优化最好的方法,网页设计图片居中,ensp企业网络拓扑图随机链表的复制 给你一个长度为 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:
在这里插入图片描述
输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]
输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]

解题思路

  • 使用哈希表来存储原链表节点和复制链表节点的对应关系。

  • 第一次遍历:创建新节点并构建原链表节点和新节点的映射关系。同时,复制节点的 val 值和 next 指针。

  • 第二次遍历:根据原链表的 random 指针,为复制链表的对应节点设置 random 指针。

java实现

class Node {int val;Node next;Node random;public Node(int val) {this.val = val;this.next = null;this.random = null;}
}public class DeepCopyLinkedList {public Node copyRandomList(Node head) {if (head == null) {return null;}// 第一次遍历:创建新节点并构建原链表节点和新节点的映射关系Map<Node, Node> map = new HashMap<>();Node current = head;while (current != null) {map.put(current, new Node(current.val));current = current.next;}// 第二次遍历:根据原链表的 random 指针,为复制链表的对应节点设置 random 指针current = head;while (current != null) {Node copyNode = map.get(current);copyNode.next = map.get(current.next);copyNode.random = map.get(current.random);current = current.next;}return map.get(head);}public static void main(String[] args) {// 构造链表 1 -> 2 -> 3 -> 4 -> 5Node head = new Node(1);head.next = new Node(2);head.next.next = new Node(3);head.next.next.next = new Node(4);head.next.next.next.next = new Node(5);// 设置 random 指针head.random = head.next.next;  // 1.random --> 3head.next.random = head.next.next.next;  // 2.random --> 4head.next.next.random = head;  // 3.random --> 1head.next.next.next.random = null;  // 4.random --> nullhead.next.next.next.next.random = head.next;  // 5.random --> 2// 调用 copyRandomList 方法进行深拷贝DeepCopyLinkedList solution = new DeepCopyLinkedList();Node copiedHead = solution.copyRandomList(head);// 打印复制链表while (copiedHead != null) {System.out.print("[" + copiedHead.val +", " + (copiedHead.random != null ? copiedHead.random.val : "null") +"] ");copiedHead = copiedHead.next;}// 输出:[1, 3] [2, 4] [3, 1] [4, null] [5, 2]}
}

时间空间复杂度

  • 时间复杂度:O(n),其中 n 是链表的长度。
  • 空间复杂度:O(n),需要额外的空间存储新节点
http://www.mmbaike.com/news/64325.html

相关文章:

  • 中文静态网站下载南京seo排名收费
  • 网站建设的方案图片seo网络公司
  • 做一建真题的网站网络营销首先要
  • 如果做车站车次查询的网站需要什么消息信息网络推广深圳有效渠道
  • 广州黄埔网站制作互联网运营推广
  • 百度给公司做网站效果咋样中国软文网官网
  • 沈阳网站建设制作学it学费大概多少钱
  • 做网站优化企业seo优化教程视频
  • 潮安区住房和城乡建设局网站百度关键词首页排名
  • 网软志成学校网站管理系统官方商业正式版福州seo优化
  • 中国疫情最严重的五个省排名关键词排名优化公司成都
  • publisher做的网站如何获得urlsem竞价代运营公司
  • 有服务器域名源码怎么做网站平台湖州seo排名
  • 免费做海报的网站全国疫情高峰感染高峰进度
  • 二维码链接生成器在线百度视频排名优化
  • 男女做那个的视频网站百度网页网址
  • 做一个独立网站需要多少钱企业网站建设费用
  • 河南有名的做网站公司有哪些市场调研报告ppt
  • 优秀行业网站手机怎么做网站免费的
  • 南京网站建设电话律师网络推广
  • 外贸网站建设公司价格福州百度网站排名优化
  • 莆田做网站优化推广方案
  • 免费网站推广软文发布网络推广 网站制作
  • 番禺网站建设专家小学生班级优化大师
  • qq刷赞网站如何做分站每日新闻摘要30条
  • 北京建设委员会门户网站网站建设找哪家公司好
  • 阿里云虚拟主机可以做两个网站大数据营销 全网推广
  • 网站建设综合实训成都比较靠谱的seo
  • 网站建设业务前景500个游戏推广群
  • 晋城建设工程信息网站百度竞价可以自学吗