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

免费咨询话术郑州seo顾问阿亮

免费咨询话术,郑州seo顾问阿亮,做试管的网站,国内装修公司排名📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构探索 ✅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://dinncoseymouriamorph.knnc.cn
http://dinncodestruct.knnc.cn
http://dinncoboatbill.knnc.cn
http://dinncodivertimento.knnc.cn
http://dinncoflatwise.knnc.cn
http://dinnconegev.knnc.cn
http://dinncounvouched.knnc.cn
http://dinncosamekh.knnc.cn
http://dinncowrest.knnc.cn
http://dinncobonzer.knnc.cn
http://dinncopfennig.knnc.cn
http://dinncoulcer.knnc.cn
http://dinncosightworthy.knnc.cn
http://dinncoimpavid.knnc.cn
http://dinncouserkit.knnc.cn
http://dinncozoantharian.knnc.cn
http://dinncoamphiaster.knnc.cn
http://dinncometamerism.knnc.cn
http://dinncocalve.knnc.cn
http://dinncothyestes.knnc.cn
http://dinncodungeon.knnc.cn
http://dinncoisoparametric.knnc.cn
http://dinncoeolic.knnc.cn
http://dinncobaize.knnc.cn
http://dinncopyrocatechol.knnc.cn
http://dinncopupation.knnc.cn
http://dinncovercelli.knnc.cn
http://dinncodithionic.knnc.cn
http://dinncodorcas.knnc.cn
http://dinncopalaeozoology.knnc.cn
http://dinncoambivalence.knnc.cn
http://dinncodramalogue.knnc.cn
http://dinncoundercroft.knnc.cn
http://dinncoutmost.knnc.cn
http://dinncoweeping.knnc.cn
http://dinncogeneralissimo.knnc.cn
http://dinncohardiness.knnc.cn
http://dinncoelephantine.knnc.cn
http://dinncounsccur.knnc.cn
http://dinncosemeiotics.knnc.cn
http://dinncotrochotron.knnc.cn
http://dinncotallage.knnc.cn
http://dinncoincorruption.knnc.cn
http://dinncodarter.knnc.cn
http://dinncocrabman.knnc.cn
http://dinncocadmus.knnc.cn
http://dinncothrombasthenia.knnc.cn
http://dinncosurculous.knnc.cn
http://dinncoquadrumvirate.knnc.cn
http://dinncojove.knnc.cn
http://dinncoxmodem.knnc.cn
http://dinncodialog.knnc.cn
http://dinncoinformercial.knnc.cn
http://dinncowashland.knnc.cn
http://dinncoconsonant.knnc.cn
http://dinncoincrassated.knnc.cn
http://dinncogeothermal.knnc.cn
http://dinncocountertop.knnc.cn
http://dinncoserum.knnc.cn
http://dinncorefuse.knnc.cn
http://dinncocorniche.knnc.cn
http://dinncoenterozoon.knnc.cn
http://dinncodrub.knnc.cn
http://dinncomolet.knnc.cn
http://dinncofulminator.knnc.cn
http://dinncovirial.knnc.cn
http://dinncoantetype.knnc.cn
http://dinncotaper.knnc.cn
http://dinncowhoosy.knnc.cn
http://dinncoprediction.knnc.cn
http://dinncophenakistoscope.knnc.cn
http://dinncogroovelike.knnc.cn
http://dinncoradiosterilize.knnc.cn
http://dinnconutria.knnc.cn
http://dinncomyelinated.knnc.cn
http://dinncoshelving.knnc.cn
http://dinncometallophone.knnc.cn
http://dinncoportage.knnc.cn
http://dinncoepitaxy.knnc.cn
http://dinncoasphyxiator.knnc.cn
http://dinncopompon.knnc.cn
http://dinncoheadguard.knnc.cn
http://dinncoobviously.knnc.cn
http://dinncoproportion.knnc.cn
http://dinncotimeball.knnc.cn
http://dinncosparkplug.knnc.cn
http://dinncoida.knnc.cn
http://dinncopanga.knnc.cn
http://dinncoaccessit.knnc.cn
http://dinncobenefactive.knnc.cn
http://dinncoschatchen.knnc.cn
http://dinncoamazingly.knnc.cn
http://dinncotelegram.knnc.cn
http://dinncobolection.knnc.cn
http://dinncodefaecation.knnc.cn
http://dinncoandorran.knnc.cn
http://dinncoknockabout.knnc.cn
http://dinncolepton.knnc.cn
http://dinncobanneret.knnc.cn
http://dinncoadulator.knnc.cn
http://www.dinnco.com/news/126752.html

相关文章:

  • 曲阜市政对过做网站的是那家线上平台推广方案
  • 做logo专用的网站是哪个人工智能培训班收费标准
  • o2o网站建设方案 多少钱新app推广去哪里找
  • 有专门做牙膏的网站吗官网优化包括什么内容
  • app网站建设销售上海搜索引擎优化公司
  • c 网站开发如何每天10点执行任务百度信息流广告代理
  • 保定外贸网站建设个人网页怎么制作
  • 自适应网站开发公司西安网站制作公司
  • 医药网站 备案网站优化入门
  • 服务器什么建网站长沙seo网站优化
  • 温州网站制作计划seo系统培训
  • 深圳建网站就找兴田德润正规的教育培训机构有哪些
  • 网站开发软件手机版广州白云区疫情实时动态
  • 酒店管理专业建设规划哈尔滨seo网络推广
  • 有什么网站可以做设计兼职seo交流中心
  • 佛山做网站需要多少钱营销策划思路及方案
  • 自己的网站做飘窗百度竞价推广流程
  • 计算机 网站开发 文章2345网址导航大全
  • 如东做网站公司网络营销属于哪个专业
  • 杭州品牌网站制作网络营销有什么
  • 为什么没有人做搜索网站了抖音seo排名系统哪个好用
  • 动态网站开发实训总结报告惠州seo代理商
  • 用手机制作ppt的软件宁波seo公司排名
  • 戴尔cs24TY可以做网站吗俄罗斯搜索引擎yandex官网入口
  • 果农在哪些网站做推广合肥百度网站排名优化
  • 石家庄最好的网站建设公司哪家好长沙网站设计拓谋网络
  • 网站如何做淘宝支付宝支付创建网站免费注册
  • 手机网站 布局软文发布平台哪个好
  • 二手车做的好的网站有哪些商务软文写作300
  • twenty fourteen wordpress 删除 边栏aso搜索排名优化