LeetCode 138. 随机链表的复制

2024-05-09 09:04

本文主要是介绍LeetCode 138. 随机链表的复制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.原题链接: 

2.结点拆分:

代码实现: 

3.提交结果: 

4.读书分享: 


1.原题链接: 

138. 随机链表的复制

2.结点拆分:

①.拷贝各个结点,连接在原结点后面;

②.处理拷贝结点的random:

由图可知,每个拷贝结点都在原结点的后面,那拷贝结点的random结点是不是也在原结点random结点后面?

③.拆解出复制链表:

代码实现: 

typedef struct Node Node;
struct Node* copyRandomList(struct Node* head) {if(head==NULL)return NULL;//拷贝结点并连接在原结点后面Node* cur=head;while(cur!=NULL){       Node* copy=(Node*)malloc(sizeof(Node));copy->next=NULL;copy->random=NULL;copy->val=cur->val;copy->next=cur->next;cur->next=copy;cur=cur->next->next;}//处理random结点cur=head;while(cur!=NULL){Node* copy=cur->next;        if(cur->random==NULL)//当random结点为空时,特殊处理copy->random=NULL;elsecopy->random=cur->random->next;cur=cur->next->next;}//拆解复制链表cur=head;Node* copyHead=head->next;//保存复制链表的头结点while(cur!=NULL){Node* copy=cur->next;Node* next=copy->next;cur->next=next;if(next==NULL)//避免引发空指针问题copy->next=NULL;elsecopy->next=next->next; cur=next;}return copyHead;
}

3.提交结果: 

4.读书分享: 

道德经·第四十八章》:

为学日益,为道日损。损之又损,以至于无为。

无为而无不为。

取天下常以无事,及其有事,不足以取天下。

解释:

追求学问天天增益,修行大道日益减损。减损而又减损,最后达到无为的境地。

能够做到无为,就会有所作为。

治理天下必须无所事事,如果经常有所事事,就不能治理天下了。

这篇关于LeetCode 138. 随机链表的复制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972972

相关文章

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

Conda虚拟环境的复制和迁移的四种方法实现

《Conda虚拟环境的复制和迁移的四种方法实现》本文主要介绍了Conda虚拟环境的复制和迁移的四种方法实现,包括requirements.txt,environment.yml,conda-pack,... 目录在本机复制Conda虚拟环境相同操作系统之间复制环境方法一:requirements.txt方法

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结