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

南京个人网站建设网站发布与推广

南京个人网站建设,网站发布与推广,定制网站制作哪家好,dreamwear做网站步骤问题背景 给你一个长度为 n n n 的链表,每个节点包含一个额外增加的随机指针 r a n d o m random random,该指针可以指向链表中的任何节点或空节。 构造这个链表的 深拷贝。 深拷贝应该正好由 n n n 个 全新 节点组成,其中每个新节点的值…

问题背景

给你一个长度为 n n n 的链表,每个节点包含一个额外增加的随机指针 r a n d o m random random,该指针可以指向链表中的任何节点或空节。
构造这个链表的 深拷贝。 深拷贝应该正好由 n n n全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 n e x t next next 指针和 r a n d o m random random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点
例如,如果原链表中有 X X X Y Y Y 两个节点,其中 X . r a n d o m = Y X.random = Y X.random=Y。那么在复制链表中对应的两个节点 x x x y y y,同样有 x . r a n d o m = y x.random = y x.random=y
返回复制链表的头节点。

数据约束

  • 0 ≤ n ≤ 1000 0 \le n \le 1000 0n1000
  • − 1 0 4 ≤ N o d e . v a l ≤ 1 0 4 -10 ^ 4 \le Node.val \le 10 ^ 4 104Node.val104
  • N o d e . r a n d o m Node.random Node.random n u l l null null 或指向链表中的节点。

解题过程

经典链表操作题,解决的关键在于能否想到把新建的复制节点添加到原节点的后一个。
通过上述方案复制完整个链表之后,只要能够分离链表即可,参考 奇偶链表,本题中由于原链表的后一个节点是它本身的复制,一定存在,分离的时候可以少一个判断。

注意数据范围,头节点可能为空,要单独处理。

具体实现

/*
// 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;}// 在原链表的每个节点之后新建复制节点Node cur = head, next;while(cur != null) {next = cur.next;cur.next = new Node(cur.val, cur.next); // 题中没说明这个构造器,实际上是存在的cur.next.next = next;cur = cur.next.next;}// 重置工作指针cur = head;// 给每个新节点的随机域赋值while(cur != null) {if(cur.random != null) {cur.next.random = cur.random.next;}cur = cur.next.next;}// 分离原链表和复制之后的链表Node copyHead = head.next, copy;cur = head;while(cur.next.next != null) {copy = cur.next; // 记录下一个节点cur.next = cur.next.next; // 调整原链表的 next 指针copy.next = copy.next.next; // 调整新链表的 next 指针cur = cur.next; // 后移工作指针}// 原链表的最后一个节点要指空cur.next = null;return copyHead;}
}
http://www.zhongyajixie.com/news/17160.html

相关文章:

  • 西安专题门户响应式网站建设天琥设计培训学校官网
  • 上海网站优化排名网站搭建谷歌seo
  • 激光东莞网站建设问卷调查网站
  • 为什呢网站打开wordpress很慢友の 连接
  • 建立一个网站平台需要多少钱上海排名优化seo
  • 代做论文的网站有哪些好的软文街怎么样
  • 做衣服的网站推荐sem运营是什么意思
  • 国外电子政务j建设与我国电子政务网站建设对比搜索引擎搜索
  • 做电信宽带合适做网站吗seo文章生成器
  • 宣城市住房城乡建设委员会网站网络推广优化服务
  • web网站发布互动营销用在哪些推广上面
  • 又好又快自助建站如何在百度上做产品推广
  • 章丘网站制作深圳网络优化seo
  • 网站建设专业的公司网站seo专员
  • 郴州网站建设公司在哪里新闻稿在线
  • 网站建设哪里好点搜索引擎优化方法案例
  • 网站左侧漂浮代码公司网站域名续费一年多少钱
  • 河南网站建设公司谷歌搜索引擎优化seo
  • 链接测试对于网站的意义宁波seo在线优化
  • 网站模板插件惠州seo报价
  • 免费制作永久网站合作seo公司
  • 益阳建设网站公司淘宝店铺推广方式有哪些
  • 做日本外贸单是哪个网站在线生成网页网站
  • 白糖贸易怎么做网站网络视频营销平台
  • 红色网站主题腾讯企点账户中心
  • 网站上传小马后怎么做深圳信息公司做关键词
  • 建设网站的行业现状分析百度官网网站首页
  • 携程网站模板百度知道客服电话人工服务
  • 网站搭建报价表淘宝seo什么意思
  • 广州外贸营销型网站建设公司肇庆网站搜索排名