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

织梦xml网站地图最新的国际新闻事件

织梦xml网站地图,最新的国际新闻事件,5118站长工具,国内oa系统十大排名随机链表的复制 问题分析1. 复制节点并插入到原节点后面:2. 复制随机指针:3. 分离原链表和新链表: 代码实现1. 初始化指针和变量:2. 复制节点:3. 复制随机指针:4. 分离链表:5. 返回新链表的头节…

在这里插入图片描述

随机链表的复制

  • 问题分析
    • 1. 复制节点并插入到原节点后面:
    • 2. 复制随机指针:
    • 3. 分离原链表和新链表:
  • 代码实现
    • 1. 初始化指针和变量:
    • 2. 复制节点:
    • 3. 复制随机指针:
    • 4. 分离链表:
    • 5. 返回新链表的头节点:

在这里插入图片描述

随机链表的复制
在这里插入图片描述

问题分析

链表中的每个节点包含三个属性:val(节点的值),next(指向下一个节点的指针),以及random(一个随机指针,可以指向链表中的任意节点,或者为NULL)。我们的目标是创建一个新的链表,其中每个节点的值与原链表中相应节点的值相同,并且新链表中的next和random指针也正确地指向新链表中的节点。

算法分为三个主要步骤:

1. 复制节点并插入到原节点后面:

◦ 遍历原链表,为每个节点创建一个副本,并将副本插入到原节点的后面。
◦ 这一步确保了每个原节点和其副本节点相邻,便于后续设置next和random指针。

2. 复制随机指针:

◦ 再次遍历链表,这次是为了复制每个副本节点的random指针。
◦ 由于副本节点紧跟在原节点之后,原节点的random指针指向的节点的下一个节点就是副本节点的random指针应该指向的节点。

3. 分离原链表和新链表:

◦ 遍历链表,将每个副本节点从原链表中分离出来,形成一个新的链表。
◦ 使用尾插法构建新链表,这样可以避免在构建新链表时破坏原链表的结构。

代码实现

代码实现遵循上述算法设计,具体步骤如下:

1. 初始化指针和变量:

◦ 使用cur指针遍历原链表。
◦ 使用copyHead和copyTail指针来构建和维护新链表。

2. 复制节点:

◦ 为每个节点创建副本,并将其插入到原节点之后。
◦ 更新cur指针以继续遍历。

3. 复制随机指针:

◦ 再次遍历链表,为每个副本节点设置random指针。
◦ 更新cur指针以继续遍历。

4. 分离链表:

◦ 遍历链表,将副本节点从原链表中分离出来,并构建新链表。
◦ 使用尾插法将副本节点添加到新链表中。

5. 返回新链表的头节点:

◦ 返回copyHead,即新链表的头节点

classSolution {
public
:Node* copyRandomList(Node* head) {// 1.拷贝链表,并插入到原节点的后面Node* cur = head;while(cur){Node* next = cur->next;Node* copy = (Node*)malloc(sizeof(Node));copy->val = cur->val;// 插入cur->next = copy;copy->next = next;// 迭代往下走cur = next;}// 2.置拷贝节点的randomcur = head;while(cur){Node* copy = cur->next;if(cur->random != NULL)copy->random = cur->random->next;elsecopy->random = NULL;cur = copy->next;        }// 3.解拷贝节点,链接拷贝节点Node* copyHead = NULL, *copyTail = NULL;cur = head;while(cur){Node* copy = cur->next;Node* next = copy->next;// copy解下来尾插if(copyTail == NULL){copyHead = copyTail = copy;}else{   copyTail->next = copy;copyTail = copy;}cur->next = next;cur = next;}return copyHead;}
};

文章转载自:

http://vZVAbKIf.fkgqn.cn
http://h1oFq8XU.fkgqn.cn
http://ueVnYGJE.fkgqn.cn
http://8A46oZNw.fkgqn.cn
http://gitcePEa.fkgqn.cn
http://bVo9chmV.fkgqn.cn
http://YuAfnpas.fkgqn.cn
http://sUai1fa9.fkgqn.cn
http://ZvYl0wgv.fkgqn.cn
http://HZpT1mC3.fkgqn.cn
http://ryo9BzV5.fkgqn.cn
http://yVyOAeiw.fkgqn.cn
http://1wQd3lyS.fkgqn.cn
http://TMaIq0QN.fkgqn.cn
http://YOEpMNdN.fkgqn.cn
http://EahA1JsA.fkgqn.cn
http://B9xtCvpF.fkgqn.cn
http://DobH8roP.fkgqn.cn
http://vlO9jFiS.fkgqn.cn
http://yT8p1mkT.fkgqn.cn
http://UVZFvOU7.fkgqn.cn
http://tlTqcMXI.fkgqn.cn
http://W8UMIOvk.fkgqn.cn
http://1OPCMYzH.fkgqn.cn
http://cJKcqe0e.fkgqn.cn
http://CUJnUnB7.fkgqn.cn
http://6EQG3anW.fkgqn.cn
http://XIxOJbLz.fkgqn.cn
http://tAeiYxDl.fkgqn.cn
http://r5dBHvhf.fkgqn.cn
http://www.dtcms.com/wzjs/706894.html

相关文章:

  • 网站托管什么意思长沙网站开发长沙网站建设
  • 石家庄建设集团有限公司网站wordpress postgresql
  • 做网站备案哪些条件一二三四免费观看视频
  • 网站首页设计报告微网站建设教学
  • 网站建设需要的技术人员大气宽屏的网站
  • 网站上的按钮怎么做三亚网站外包
  • 用博客网站做淘宝客高端企业网站建设制作
  • 网站推广公司兴田德润官网多少自己搭建充值平台
  • 杭州网站建设朗诵面朝施工企业资质分为哪些
  • 清理网站后台缓存国外 定制网站
  • 河北世达建设集团有限公司网站实事新闻热点
  • 站长统计推荐短视频运营项目计划书
  • 厦门外贸网站seo河南安阳网站建设
  • asp网站建设实录源码ps案例教程网站
  • 把插钉机子拍下怎么做网站国内无代码开发平台
  • 如何做网站赚广安发展建设集团门户网站
  • 定西市小企业网站建设东莞专业做网站公司
  • 网站系统后台南昌seo推广外包
  • 微信网站如何制作软件网站建设要用什么软件
  • 公司要建立网站要怎么做焦作建设网站的公司
  • 天津优化网站滨江网站建设制作
  • 宁波网站设计公司有几家广州白云区哪里封了
  • 如何购买一个网站的域名国外做做网站
  • 云主机 怎么做网站博物馆建设网站的作用
  • 昆明做网站做的好的公司梵克雅宝官网手链报价
  • 刚刚发布了天津的最新消息网站优化排名易下拉稳定
  • 销售网站设计免费windows7云主机
  • 前端网站开发流程图网站开发基础知识简述
  • wordpress建站免费吗杭州网络推广公司排名
  • 公司网站一定要备案吗想建一个自己的网站