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

网站收录查询代码东莞高端网站建设费

网站收录查询代码,东莞高端网站建设费,中信建设有限责任公司四川分公司,中国建设人才网官网查询问题背景 给你一个长度为 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.yayakq.cn/news/365037/

相关文章:

  • 免费涨1000粉丝网站做网站不能有中文字符
  • 浙江平安建设网站wordpress文章自动生成标签
  • ppt做视频模板下载网站有哪些内容wordpress微信设置密码
  • 做网站重要标签php做网站安装
  • 做家乡特产的网站宁波seo品牌推广排名
  • 个人微信小程序免费制作平台进一步优化供给推动消费平稳增长
  • 南宁有本地租房做网站吗重庆市特种作业证报名
  • 做软装搭配的网站中山网站建设制作 .超凡科技
  • 苏州建设网站的网络公司公共法律服务网站平台建设预算
  • 南京学习做网站做国内贸易的网站
  • 用cms建网站容易吗网站 免费 托管运营
  • 做网站商城需要申请商标吗免费的招聘网站有哪些
  • wordpress woocommerce那里设置每页商品显示数量申泽seo
  • 网站备案注销怎么恢复淘宝属于什么网站怎么做
  • 网站备案 拨测网站开发技术html5
  • 看房子的网站app拉新渠道
  • 抖音推广北京seo结算
  • 响应式门户网站模板下载公司网站制作效果怎么样
  • 芷江建设工程招投标网站企业网站开发项目策划书基本框架
  • 哈尔滨网站优化对策html网页制作房地产页面
  • 怎么用vps做网站wordpress下载文件
  • 大型门户网站 代码国外企业网站建设模型
  • 广州定制网站开发房屋设计装修app
  • 如何查看网站模板网页设计实训报告模板图片
  • wordpress写文章本地上传图片2022百度seo优化工具
  • 网站使用前流程旅游去过的地方可做标识网站
  • 苏州建设网站首页wordpress 跳板
  • 阜新本地网站建设平台公司简介模板及介绍
  • 做网站收益wordpress手机跳转
  • 青岛有没有专门做淘宝网站求个网站你懂我意思是