Leetcode138. 复制带随机指针的链表
创始人
2025-05-30 06:42:12

复制带随机指针的链表

第一步 拷贝节点链接在原节点的后面
第二步拷贝原节点的random , 拷贝节点的 random 在原节点 random 的 next
第三步 将拷贝的节点尾插到一个新链表 ,并且将原链表恢复

从前往后遍历链表 ,将原链表的每个节点进行复制,并l链接到原节点的后面
malloc 一个节点copy

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cur 往后走 ,不能写成cur =cur->next ,因为已经改变了链接关系,找不到cur的下一个节点的地址了

第一步的代码

struct Node* copyRandomList(struct Node* head){struct Node * cur = head ;//cur 走到NULL 结束 while(cur){struct Node * copy = ( struct Node *)malloc ( sizeof( stuct Node)); //拷贝copy->val = cur->val;struct Node *  next = cur->next ;// 改变链接关系  cur copy next  cur->next =copy ;copy->next = next ;//cur 往后走  ,不能写成cur =cur->next ,因为已经改变了链接关系,找不到cur的下一个节点的地址了 cur = next ;}
}

对原链表 random 指针的复刻 , 即原节点 的 random 拷贝到 拷贝节点 的 random 里面

在这里插入图片描述

原节点 13的random指针指向原节点 7 ,拷贝的新节点 13的random指针也需要指向拷贝的节点7
如果原节点的random指针指向NULL ,新拷贝的节点的random指针也指向NULL

第二步的代码

//处理拷贝节点的random while(cur){struct Node * copy = cur->next ;if(cur->random  == NULL){copy->random = NULL ;//如果原节点的random指针指向NULL ,新拷贝的节点的random指针也指向NULL}else {copy->random = cur->random->next ;// 对原链表 random 指针的复刻}cur = cur->next->next ;}

在这里插入图片描述

上图中,我们可以观察到原节点 13的random指针指向原节点 7,拷贝的新节点13的random指针指向的是原节点7的next

推广一下也就是说
原节点 i 的random指针,指向的是原节点 j
那么新拷贝的节点 的random指针,指向的是原节点 j 的 next

但是这样下来 已经破坏了原链表 ,所以下一步是将拷贝的节点尾插到一个新链表 ,并且将原链表恢复

尾插
在这里插入图片描述

恢复原链表
在这里插入图片描述
在这里插入图片描述
第三步代码

    //将拷贝的新节点尾插到一个新链表, 并恢复原链表cur =head ;struct Node * copyhead  = NULL , * copyTail = NULL ;while( cur){   struct Node *   copy =cur->next ;struct Node * next = copy->next ; //尾插if( copyhead ==NULL){copyhead = copyTail = copy ;}else{copyTail->next = copy ;copyTail = copyTail->next ;}//恢复原链表cur->next = next ;cur = next ;}

完整代码

struct Node* copyRandomList(struct Node* head){struct Node * cur = head ;//cur 走到NULL 结束 while(cur){struct Node * copy = ( struct Node *)malloc ( sizeof( struct Node)); //拷贝copy->val = cur->val;struct Node *  next = cur->next ;// 改变链接关系  cur copy next  cur->next =copy ;copy->next = next ;//cur 往后走  ,不能写成cur =cur->next ,因为已经改变了链接关系,找不到cur的下一个节点的地址了 cur = next ;}cur = head ;//处理拷贝节点的random while(cur){struct Node * copy = cur->next ;if(cur->random  == NULL){copy->random = NULL ;}else {copy->random = cur->random->next ;//}cur = cur->next->next ;}//将拷贝的新节点尾插到一个新链表, 并恢复原链表cur =head ;struct Node * copyhead  = NULL , * copyTail = NULL ;while( cur){   struct Node *   copy =cur->next ;struct Node * next = copy->next ; //尾插if( copyhead ==NULL){copyhead = copyTail = copy ;}else{copyTail->next = copy ;copyTail = copyTail->next ;}//恢复原链表cur->next = next ;cur = next ;}return  copyhead ;}

如果你觉得这篇文章对你有帮助,不妨动动手指给点赞收藏加转发,给鄃鳕一个大大的关注
你们的每一次支持都将转化为我前进的动力!!

相关内容

热门资讯

名创优品:正在对以“TOP T... 6月6日,名创优品在港交所公告,公司正在对其以“TOP TOY”品牌运营的潮流玩具业务潜在分拆上市可...
一年10倍,本轮黄金牛市中最疯... 今天贵金属板块王者归来,再次成为了市场上最靓的仔!贵金属作为对冲经济衰退预期的最受益板块,行业逻辑我...
没了3000亿,74岁“呼吸机... 市场竞争愈发险恶,数百亿元销售规模的“医械一哥”也要换挡了。文|《中国企业家》记者谭丽平编辑|张昊头...
调查!伪造材料半小时极速“开户... 本报(chinatimes.net.cn)记者胡梦然 深圳报道一则关于老虎证券涉嫌通过伪造材料等不正...
6月6日宁波建工(601789... 证券之星消息,宁波建工6月6日涨停收盘,收盘价5.87元。该股于11点17分涨停,6次打开涨停,截止...
今晚两大重磅事件!A股节后四连... 虽然已经习惯了特朗普反复无常,但又来一个闹剧还是挺让人诧异的,昨晚美国总统特朗普和马斯克“口水战”不...
追加600万意向金,*ST宇顺... 本文来源:时代周报 作者:管越 图片来源:图虫披露并购消息的*ST宇顺(002289.SZ)又有了...
欣旺达2700万参投基金,对家... 技术产品和场景之间寻求互补,这是产业链资源整合的常规动作。电池企业欣旺达(300207.SZ)为开拓...
赵伟:美国经济——“消失的”库... 赵伟系申万宏源证券首席经济学家、中国首席经济学家论坛理事一、2025年初以来,美国累库幅度大幅落后于...
伍戈:关税暂缓了什么? 伍戈谈... 伍戈 系长江证券首席经济学家、中国首席经济学家论坛理事【预见经济:陆月】最扰是人心。海外方面,美关税...
白银突破36美元/盎司关口,创... 6月5日,现货白银一度大涨4.5%,触及每盎司36美元整数关口上方,创下2012年2月以来最高水平。...
卖完80多个万达广场,个人财富... 没有人想要变卖最优质的资产。但最近几年,王健林始终在和即将到期的债务缠斗,他不得不学会“割爱”。而业...
陕西汉中齿轮厂,站在了腕表巨头... 第 2306期〡2025/06/06陕西汉中长空齿轮厂的车间里,生产线上已成型的中小模数精密齿轮,不...
杜嘉祺时隔8年回归友邦,接棒退... 6月6日,友邦保险(01299.HK)发布公告宣布,独立非执行主席及独立非执行董事谢仕荣将于2025...
重庆汽车论坛热议行业乱象,朱华... 本文来源:时代周报 作者:武凯“2025年,最能牵动全行业敏感神经的是什么呢?”6月6日,在中国汽车...
恒生指数收跌0.48%,恒生科... 6月6日,恒生指数收盘跌0.48%,恒生科技指数跌0.63%。有色金属股涨幅居前,万国黄金集团涨超1...
必须要有自己的一线城市,山东离... 近年来,山东省常住人口的减少已成为无可争议的事实,2024年这一数字达到了全国最高的42.8万。这一...
原创 王... 创立ZEALER,与罗永浩论战,加入格力,重新进行AI领域二次创业!王自如今日发布视频,讲述了过去1...
和讯投顾刘金锁:指数三连阳!个... 指数三连阳,部分个股今天却投降,这是为哪般呢?和讯投顾刘金锁分析,我们看今天几个指数说出第三根阳线啊...
PE必死,并购难存,产业整合基... 一、传统PE投资基金的消亡 1、PE基金的投资逻辑 传统的PRE-IPO投资逻辑很简单,选择合适的...
锦江酒店拟发行H股赴港上市,聚... 本报记者 梁宝欣 深圳报道 6月4日晚,国内酒店业龙头企业上海锦江国际酒店股份有限公司(下称“锦江酒...
从行业先驱到转型先锋 华为云助... 6月3日,随着汽笛长鸣,一艘名为“NOVA FORTUNA”的国际货轮从中国张家港华达码头正式启航。...
就在今晚,吃瓜群众们都在等这个... 就在华尔街还在消化“特马”公开撕破脸的冲击波时,白宫内部已悄然启动危机公关——一通定于周五的电话,会...
高盈证券、高盈资管董事长吴超斩... 2025年6月5日,第十八届HED峰会暨介甫荣耀之夜颁奖晚宴在上海隆重举行,群英荟萃、共襄盛举。高盈...
霸王茶姬的反噬开始了 霸王茶姬... 原创首发 | 金角财经(ID: F-Jinjiao)作者 | 颖宝敲钟不到两个月,霸王茶姬就交出了一...
V观财报|有友食品:聘任肖传志... 【V观财报|有友食品:聘任肖传志为副总经理及董事会秘书】有友食品公告,经公司董事长、总经理鹿有忠提名...
排队IPO的潮玩公司,神话和泡... ·重庆等地6月初“国补”暂停:以旧换新申报火热、第一轮部分补贴资金已用完6月3日,某支付平台的重庆家...
潮宏基股东拟减持4亿,年轻一代... 新消费概念股迭创新高之际,潮宏基(002345.SZ)股东抛出了减持计划。6月5日晚,潮宏基发布减持...
国有股东和职工权益涉嫌受损,娃... 资料图。本文来源:经济参考报国有股东和职工权益涉嫌受损娃哈哈“体外”迷局待解01.娃哈哈风波不断宗庆...
浙江稠州行业银行:强化融资支持... 民营经济是社会主义市场经济的重要组成部分,随着社会生产力的不断跃升,民营经济迎来了更为广阔的发展空间...