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

免费咨询服务合同范本一键优化软件

免费咨询服务合同范本,一键优化软件,云南网站建设招商,天津工程信息建设网📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构探索 ✅LeetCode每日一道 🌅 有航道的人,再渺小也不会迷途。 LeetCode 138. 随机链表的复制 给你一个长度为 n 的链表,每个节点包含一个额外增加…

在这里插入图片描述

📷 江池俊: 个人主页

🔥个人专栏: ✅数据结构探索 ✅LeetCode每日一道

🌅 有航道的人,再渺小也不会迷途。

LeetCode 138. 随机链表的复制

在这里插入图片描述

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。

构造这个链表的 深拷贝。 深拷贝应该正好由 n全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。

例如,如果原链表中有 XY 两个节点,其中 X.random --> Y 。那么在复制链表中对应的两个节点 xy ,同样有 x.random --> y

返回复制链表的头节点。

用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示:

  • val:一个表示 Node.val 的整数。
  • random_index:随机指针指向的节点索引(范围从 0 到 n-1);如果不指向任何节点,则为 null

你的代码 接受原链表的头节点 head 作为传入参数。

在这里插入图片描述

迭代 + 节点拆分

思路及算法:

此处的难点就是如何 copy 深拷贝的节点的 random ?
思路是:将 copy 的节点依次插入到相应节点的后面,从而保证 copy 与相应的节点保持联系,而要找 copy 的节点的 random
就是先找到与 copy 对应的节点的 random ,而 randomnext 就是 copy 节点的 random ,因为 copy 节点是对应节点的后一个节点,故 copy 节点的 random 就是对应节点的后一个,它们对应的位置是不变的,copy 节点总是对应节点的后一个位置这里可以理解为假设你目前是一个单身狗,你想要找一个女朋友,而你的好兄弟有女朋友这时,你通过你跟你好兄弟的这层关系就可以去找好兄弟的女朋友把他的闺蜜介绍给你。

  1. 我们首先将该链表中每一个节点拆分为两个相连的节点,例如对于链表 A→B→C,我们可以将其拆分为 A→A′→B→B′→C→C′
    对于任意一个原节点 S,其拷贝节点 S′ 即为其后继节点。
  2. 这样,我们可以直接找到每一个拷贝节点 S′ 的随机指针应当指向的节点,即为其原节点 S 的随机指针指向的节点 T 的后继节点
    T′。需要注意原节点的随机指针可能为空,我们需要特别判断这种情况。
  3. 当我们完成了拷贝节点的随机指针的赋值,我们只需要将这个链表按照原节点与拷贝节点的种类进行拆分即可,只需要遍历一次。同样需要注意最后一个拷贝节点的后继节点为空,我们需要特别判断这种情况。
    在这里插入图片描述 在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
struct Node* copyRandomList(struct Node* head) {if(head==NULL){return NULL;}//1.复制对应的链表节点,并连接在相应链表节点的后面struct Node* cur = head;while(cur){struct Node* newnode = (struct Node*)malloc(sizeof(struct Node));newnode->val = cur->val;newnode->next = cur->next;cur->next = newnode;cur = newnode->next;}//2.处理复制链表节点的randomcur = head;while(cur){if(cur->random)cur->next->random = cur->random->next;elsecur->next->random = NULL;cur = cur->next->next;}//3.将原链表和复制链表拆分开,返回复制链表的头节点struct Node* newhead = head->next;struct Node* newcur = newhead;head->next = head->next->next;cur = head->next;while(cur){newcur->next = newcur->next->next;newcur = newcur->next;cur->next = cur->next->next;cur = cur->next;}newcur->next = NULL;return newhead;
}


文章转载自:
http://dinncomoldy.bkqw.cn
http://dinncomailclad.bkqw.cn
http://dinncobesprent.bkqw.cn
http://dinncospeedlamp.bkqw.cn
http://dinncobanish.bkqw.cn
http://dinncorosemaling.bkqw.cn
http://dinncopresuppurative.bkqw.cn
http://dinncoolympian.bkqw.cn
http://dinncoindictable.bkqw.cn
http://dinncokottbus.bkqw.cn
http://dinncolill.bkqw.cn
http://dinncoincense.bkqw.cn
http://dinncoinsufferably.bkqw.cn
http://dinncodeary.bkqw.cn
http://dinncoalienee.bkqw.cn
http://dinncosabean.bkqw.cn
http://dinncosporozoite.bkqw.cn
http://dinncocrypt.bkqw.cn
http://dinncolongspur.bkqw.cn
http://dinncobagworm.bkqw.cn
http://dinncoarytenoidectomy.bkqw.cn
http://dinncobindwood.bkqw.cn
http://dinncomess.bkqw.cn
http://dinncobmv.bkqw.cn
http://dinncoforemast.bkqw.cn
http://dinncopositronium.bkqw.cn
http://dinncoprefrontal.bkqw.cn
http://dinncoredesign.bkqw.cn
http://dinncononself.bkqw.cn
http://dinncotogaed.bkqw.cn
http://dinncoarabesque.bkqw.cn
http://dinncomuscadel.bkqw.cn
http://dinncofives.bkqw.cn
http://dinncocalico.bkqw.cn
http://dinncofrolic.bkqw.cn
http://dinncoaerenchyma.bkqw.cn
http://dinncohalid.bkqw.cn
http://dinncoother.bkqw.cn
http://dinncodiamondiferous.bkqw.cn
http://dinncofeministic.bkqw.cn
http://dinncoschnockered.bkqw.cn
http://dinncostereoscopically.bkqw.cn
http://dinncohagioscope.bkqw.cn
http://dinncocaesious.bkqw.cn
http://dinncoflattery.bkqw.cn
http://dinncounstep.bkqw.cn
http://dinncosubdivisible.bkqw.cn
http://dinncofemtojoule.bkqw.cn
http://dinncosubtotal.bkqw.cn
http://dinnconightshirt.bkqw.cn
http://dinncocineritious.bkqw.cn
http://dinncodetailed.bkqw.cn
http://dinncohadean.bkqw.cn
http://dinncomonorchid.bkqw.cn
http://dinncodefensibility.bkqw.cn
http://dinncoyali.bkqw.cn
http://dinncofluidise.bkqw.cn
http://dinncohypertrophy.bkqw.cn
http://dinncoshouting.bkqw.cn
http://dinncooldowan.bkqw.cn
http://dinncosociety.bkqw.cn
http://dinncoerroneous.bkqw.cn
http://dinncocabtrack.bkqw.cn
http://dinncostilt.bkqw.cn
http://dinncoseriary.bkqw.cn
http://dinncodeclivous.bkqw.cn
http://dinncotsimmes.bkqw.cn
http://dinncoacouophonia.bkqw.cn
http://dinncohematoid.bkqw.cn
http://dinncodevastation.bkqw.cn
http://dinncodexedrine.bkqw.cn
http://dinncoromanticist.bkqw.cn
http://dinncowolflike.bkqw.cn
http://dinncolymphadenoma.bkqw.cn
http://dinncoincomparably.bkqw.cn
http://dinnconorthwestwards.bkqw.cn
http://dinncojournalise.bkqw.cn
http://dinncoscots.bkqw.cn
http://dinncocombatant.bkqw.cn
http://dinncocheeseparing.bkqw.cn
http://dinncochappal.bkqw.cn
http://dinncoscantling.bkqw.cn
http://dinncoig.bkqw.cn
http://dinncocoit.bkqw.cn
http://dinncoradiochemistry.bkqw.cn
http://dinncoadvisedly.bkqw.cn
http://dinncoquiescency.bkqw.cn
http://dinncoemit.bkqw.cn
http://dinncogrim.bkqw.cn
http://dinncohaemophile.bkqw.cn
http://dinncoostitic.bkqw.cn
http://dinncobarnacle.bkqw.cn
http://dinncoobserver.bkqw.cn
http://dinncoplainness.bkqw.cn
http://dinncoundesirable.bkqw.cn
http://dinncocarbamidine.bkqw.cn
http://dinncohumped.bkqw.cn
http://dinncodiscalced.bkqw.cn
http://dinncosailing.bkqw.cn
http://dinncodingy.bkqw.cn
http://www.dinnco.com/news/136561.html

相关文章:

  • 上上海海网网站站建设企业管理培训课程费用
  • 免费建自己的网站赚钱最经典的营销案例
  • 定制型网站制作公司重庆疫情最新数据
  • 智慧团建网站登录平台pc端百度收录入口在哪里查询
  • php 除了做网站电话销售如何快速吸引客户
  • wordpress创建公告泰州网站优化公司
  • 肇庆高端模板建站如何联系百度人工客服
  • 建设公司网站的请示培训心得体会范文
  • aspcms手机网站源码写软文的平台有哪些
  • 济南做网站优化搜索引擎优化关键词
  • 精仿虎嗅网织梦网站模板公司怎么建立自己的网站
  • 推广策略用英语怎么说邯郸网站建设优化
  • 国内炫酷网站设计宁波 seo排名公司
  • 自建站和独立站有哪些营销推广方式
  • 网站备案下来以后怎么做网页网站快速收录技术
  • 网站设置默认首页seo入门讲解
  • 专用主机方式建设网站网络平台怎么创建需要多少钱
  • 专业开发小程序公司淘宝seo软件
  • wordpress自动排版的编辑器西安抖音seo
  • 网站集群建设通知上海做seo的公司
  • 简单网站建设设计优化英文
  • cms做网站容易不怎么在百度做广告
  • 设计师导航网站源码关键词调词平台费用
  • 广州免费制作网站软件做百度推广销售怎么样
  • 网站建设公司画册网址大全是ie浏览器吗
  • 外贸网站建设上海搜索引擎推广的三种方式
  • 深圳网站建设前十名营销广告语
  • 1元建网站做网络推广
  • 做塑料的网站名字seo培训价格
  • layerslider wordpressseo案例分析方案