【链表】Leetcode 138. 复制带随机指针的链表
创始人
2025-05-30 07:57:12
0次

Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法......感兴趣就关注我吧!你定不会失望。

🌈个人主页:主页链接

🌈算法专栏:专栏链接

     我会一直往里填充内容哒!

🌈LeetCode专栏:专栏链接 

    目前在刷初级算法的LeetBook 。若每日一题当中有力所能及的题目,也会当天做完发出

🌈代码仓库:Gitee链接

🌈点击关注=收获更多优质内容🌈

目录

题目: 复制带随机指针的链表

题解:

代码实现:

完结撒花:


题目: 复制带随机指针的链表

题解:

这题虽然为中等难度,但找到方法后,考察的也仅是链表的增删查改四种操作。

这题可能很多人题目都没看懂,其实就是将题所给的链表完整的复制出来。

hhh,那能不能直接return head呢?显然不能。为什么?因为我试过啦

那么正经来看看如何去解这道题呢?

这里提供一种思路:首先将每个链表复制到原链表的后一个节点上去(也就是插入一个相同的节点) 

 

 之后每一个copy节点的random就为原节点的random->next,将其连接就好

 

 之后再将copy链表拆除出来:copy->next等于copy->next->next,也就是跳过了下一个原节点。

 

 之后在返回第一个copy节点就可以了。

第一个while循环为复制插入copy节点,当cur指针不为空的时候,三个指针轮流交换即可。很基础的插入操作,这里就不过多赘述。

插入后为这样。 

 之后每一个copy节点的random就为原节点的random->next,将其连接就好

当然这里涉及到一个边界问题:当random为空指针的时候,直接将其指向NULL即可

 

最后先记录下复制的头节点(也可以不记录,直接返回head->next也可) 

提交代码:

代码实现:

#include
#includestruct Node {int val;struct Node *next;struct Node *random;};struct Node* copyRandomList(struct Node* head) {struct Node * cur=head;if(!head)return head;while(cur){struct Node *copy=(struct Node*)malloc(sizeof(struct Node));struct Node *next=cur->next;copy->val=cur->val;copy->next=next;cur->next=copy;cur=next;}cur=head;while(cur){struct Node *copy=cur->next;struct Node *next=cur->next->next;if(cur->random==NULL)copy->random=NULL;else    copy->random=cur->random->next;cur=next;}cur=head;struct Node *head2=cur->next;while(cur){struct Node *copy=cur->next;struct Node *next=cur->next->next;if(!next)copy->next=NULL;else copy->next=next->next;cur->next=next;cur=next;}return head2;
}

完结撒花:

🌈本篇博客的内容【链表:Leetcode 138. 复制带随机指针的链表】已经结束。

🌈若对你有些许帮助,可以点赞、关注、评论支持下博主,你的支持将是我前进路上最大的动力。

🌈若以上内容有任何问题,欢迎在评论区指出。若对以上内容有任何不解,都可私信评论询问。

🌈诸君,山顶见!

相关内容

热门资讯

总算了解开挂!众乐乐开挂AI攻... 总算了解开挂!众乐乐开挂AI攻略,众乐乐多功能都是存在有开挂攻略1、上手简单,内置详细流程视频教学,...
程序员教你辅助!英豪娱乐城辅助... 程序员教你辅助!英豪娱乐城辅助AI工具,英豪娱乐城多功能原来真的是有辅助工具暗藏猫腻,小编详细说明英...
盘点几款辅助!冰球突破辅助AI... 盘点几款辅助!冰球突破辅助AI插件,冰球突破多功能其实真的有辅助插件1、冰球突破脚本辅助下载、冰球突...
分享一款辅助器!建湖好运麻将辅... 分享一款辅助器!建湖好运麻将辅助器AI教程,建湖好运麻将多功能竟然真的是有辅助器教程1、在建湖好运麻...
每日必备透视挂!新老夫子透视挂... 每日必备透视挂!新老夫子透视挂AI技巧,新老夫子多功能原来真的有透视挂技巧1、新老夫子脚本辅助下载、...
分享认知作弊器!星际互联作弊器... 分享认知作弊器!星际互联作弊器AI方法,星际互联多功能都是存在有作弊器方法1、每一步都需要思考,不同...
玩家必备攻略作弊器!闲逸斗地主... 玩家必备攻略作弊器!闲逸斗地主作弊器AI方法,闲逸斗地主多功能果然是有作弊器方法1、闲逸斗地主透视辅...
分辨真假透视挂!宁波游戏大厅透... 分辨真假透视挂!宁波游戏大厅透视挂AI软件,宁波游戏大厅多功能一直是有透视挂软件1、让任何用户在无需...
每日必看教程透视挂!君悦来透视... 每日必看教程透视挂!君悦来透视挂AI工具,君悦来多功能本来是有透视挂工具1、上手简单,内置详细流程视...
发现一款外挂!半岛外挂AI工具... 发现一款外挂!半岛外挂AI工具,半岛多功能一贯真的有外挂工具1、起透看视 半岛辅助软件价格2、随意选...