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

南宁网站建设招聘云南网站建设哪家强

南宁网站建设招聘,云南网站建设哪家强,内部网站 建设目标,广告策划书籍一、题目: 138. 随机链表的复制 - 力扣(LeetCode) 函数原型: struct Node* copyRandomList(struct Node* head) 二、思路 本题是给出一个单链表,单链表的每个结点还额外有一个随机指针,随机指向其他结点&am…

一、题目:

138. 随机链表的复制 - 力扣(LeetCode)

 

函数原型:

struct Node* copyRandomList(struct Node* head)

二、思路

本题是给出一个单链表,单链表的每个结点还额外有一个随机指针,随机指向其他结点,要求复制该链表。

常规情况下复制链表,只需要遍历原链表,新建和原链表相同的结点尾插到新链表即可。

但是该链表有一个随机指针,还需要找到原链表中各个结点随机指针的指向,让新链表中结点的随机指针也指向新链表中的与原链表中相同位置的结点。因此还要在新链表中找到原链表中各个结点随机指针指向的结点,算法为O(N^2),且判断是否为随机指针指向的结点只能通过结点值判断,如果链表中有多个值相同的结点,九不便于判断是否为随机指针指向的结点。

 

上述方法不易实现,此处提供一个全新的思路:

由于新建一个链表每个结点的随机指针不好复制,那么就在原链表上复制每个结点,然后再复制每个结点的随机指针。

先在原链表每个结点后复制一个相同的结点,复制完成后,再次遍历链表,就可以通过当前结点随机指针指向结点的下一个结点找到复制结点随机指针需要指向的结点。最后将每个复制的结点从原链表中拆下来,重新链接组成新的链表即可完成链表的复制。

三、代码

/*** Definition for a Node.* struct Node {*     int val;*     struct Node *next;*     struct Node *random;* };*/struct Node* copyRandomList(struct Node* head) {struct Node*cur=head;while(cur)//在原链表每个结点后复制一个相同的结点{struct Node* copy=(struct Node*)malloc(sizeof(struct Node));copy->val=cur->val;copy->next=cur->next;cur->next=copy;cur=cur->next->next;}cur=head;while(cur){//复制结点的随机指针指向的结点就是当前结点随机指针指向结点的下一结点if(cur->random)cur->next->random=cur->random->next;elsecur->next->random=NULL;cur=cur->next->next;}cur=head;struct Node* newhead=NULL;struct Node *tail=NULL;while(cur)//拆下复制的结点并恢复原链表,重新链接这些结点{struct Node* next=cur->next;cur->next=next->next;if(tail==NULL){newhead=tail=next;}else{tail->next=next;tail=next;}cur=cur->next;}return newhead;}

http://www.yayakq.cn/news/883211/

相关文章:

  • 做购物网站是怎么连接银行中小互联网企业有哪些
  • 有价值 网站wordpress同步知乎插件
  • 北京制作网站多少钱网站title是什么意思
  • aspcms网站栏目调用如何网站后台清理缓存
  • 建设银行网站用户权限哪公司建设网站
  • 中国做网站找谁ui培训怎么样
  • 手机能进封禁网站的浏览器电子商务网站建设的可行性分析
  • 用网站做的简历网店代运营有哪些
  • 灯饰 东莞网站建设厦门做企业网站
  • 网站建设租房网模块wordpress redirect
  • dw静态个人简历网站模板下载透明管理系统网站模板
  • 企业网站不备案可以吗运城网站建设专业服务商
  • 电影网站开发现状网站被k怎么办
  • 教人怎么做网页的网站宁波新闻
  • 空包自己可以做物流信息的网站聊城网站建设的地方
  • 小欢喜林磊儿什么网站做家教高端网站建设的流程是什么
  • 汕头建站免费模板青海宾馆网站建设公司
  • 网站域名优势asp网站建设中期报告
  • 安丘市住房与城市建设路网站1000元做网站
  • wordpress数据库查询优化深圳搜狗seo
  • 网站上的图片带店面是怎么做的凡客诚品科技有限公司
  • 安徽省所有建设类网站网站ie兼容性
  • 华盛链条网站建设看广告得收益的app
  • 做网站需要空间软件开发工程师岗位说明
  • 一元购网站建设多少钱免费的网站或软件
  • vs简单的网站开发南海网站建设多少钱
  • 腾讯云win建设网站大连网站建设主页
  • 网站seo推广方案淘客app定制开发
  • 网站是怎样赚钱的比较流行的网站建设技术有哪些
  • wordpress企业站源码淄博做网站哪家好