【链表】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. 复制带随机指针的链表】已经结束。

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

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

🌈诸君,山顶见!

相关内容

热门资讯

安森美半导体美股盘前跌超10% 6月26日消息,安森美半导体美股盘前跌超10%,公司拟62亿美元全股票收购芯片设计公司Synapti...
嘉环科技:截至目前,未与字节跳... 6月26日消息,嘉环科技在互动平台表示,截至目前,公司未与字节跳动开展相关实际业务合作。(科股宝播报...
欧洲央行将取消40份银行监管文... 6月26日消息,欧洲央行将停用约40份针对银行的监管指引,作为减轻银行业监管负担措施的一部分。欧洲央...
由于企业盈利依然强劲,花旗称现... 6月26日消息,花旗集团策略师表示,由于企业盈利依然强劲,同时“流动性尚未收紧到足以刺破泡沫”,股票...
容大感光:高阶HDI及IC封装... 6月26日消息,容大感光发布投资者关系活动记录表公告,公司感光干膜光刻胶生产基地位于珠海,其中珠海一...
《中国—韩国自由贸易协定》联委... 6月26日消息,中国—韩国自由贸易协定联委会第七次会议25日在北京举行。商务部国际贸易谈判代表兼副部...
18省区市共建信用“一带一路” 6月26日消息,在市场监管总局指导下,由18个省(区、市)市场监管部门共同发起的共建信用“一带一路”...
工业和信息化部、商务部等五部门... 6月26日消息,工业和信息化部、商务部会同国家发展改革委、农业农村部、国家能源局2026年6月25日...
联想集团联合中国移动芯昇科技、... 6月26日消息,2026 MWC上海期间,联想联合中国移动旗下芯昇科技、熠序科技发布全球首款AI可信...
国内商品期货收盘涨跌不一,苹果... 6月26日消息,国内商品期货收盘涨跌不一,苹果、铂、液化气涨超2%,集运欧线、豆二、丙烯、生猪、沪银...