LeetCode如何实现复杂链表的复制
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"LeetCode如何实现复杂链表的复制",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"LeetCode如何实现复杂链表的复制"这篇
千家信息网最后更新 2026年11月02日LeetCode如何实现复杂链表的复制
这篇文章主要为大家展示了"LeetCode如何实现复杂链表的复制",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"LeetCode如何实现复杂链表的复制"这篇文章吧。
题目描述
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。
-10000 <= Node.val <= 10000 Node.random 为空(null)或指向链表中的节点。 节点数目不超过 1000 。
题目样例
示例
输入
head = [[7,null],[13,0],[11,4],[10,2],[1,0]]
输出
[[7,null],[13,0],[11,4],[10,2],[1,0]]
题目思考
如何处理 random 指针?
解决方案
思路
如果只有 next 指针的话很简单, 我们只需要对每个节点新建一个相同值的节点, 并保持指向关系, 逐个遍历过去即可 现在多了个 random 指针, 想要定位新的指向的节点, 一个比较自然的想法就是额外维护一个老节点到新节点的映射关系, 可以用字典来实现 第一遍遍历, 就只关注 next 部分, 并建立好映射关系 第二遍遍历, 考虑 random 部分, 找到对应的新链表的节点, 然后当前节点的 random 指针指向它即可
复杂度
时间复杂度 O(N)每个节点只需要遍历两次 空间复杂度 O(N)额外需要一个字典
代码
class Solution:
def copyRandomList(self, head: 'Node') -> 'Node':
if not head:
return None
maps = {}
# 第一遍遍历, 建立新的链表, 以及老节点到新节点的映射关系
copyHead = Node(head.val)
origin, copy = head, copyHead
maps[origin] = copy
while origin.next:
# 新建下一个节点, 并建立next关系
copy.next = Node(origin.next.val)
origin = origin.next
copy = copy.next
maps[origin] = copy
# 第二遍遍历, 处理random指针部分
origin, copy = head, copyHead
while origin:
if origin.random:
# 如果老节点random指针指向非空的话, 就将当前新节点也指向随机节点对应的新节点
copy.random = maps[origin.random]
origin = origin.next
copy = copy.next
return copyHead以上是"LeetCode如何实现复杂链表的复制"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
节点
复杂
指向
指针
内容
复杂度
篇文章
部分
题目
字典
学习
帮助
相同
代码
函数
只有
就是
思路
想法
数目
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
重生之互联网科技帝国
互联网科技公司的优势
工业互联网科技新基建
互联网 科技创业
互联网科技公司官网
碳银互联网科技
互联网金融科技平台
广西拼得多互联网科技有限公司
成都互联网科技公司100强
互联网科技有哪些公司
重庆互联网医院沙龙医盟信息科技
岳阳华臻互联网科技有限公司
互联网科技产业特征
众安科技工业互联网合作
张召忠谈中国互联网科技
广州梦谷互联网科技有限公司领导
互联网科技手抄报图片
承德科技产业互联网平台
伍佰万互联网科技是干嘛的
互联网科技财经
互联网科技与金融科技
猪兼强互联网科技
齐家互联网科技
广州慧亚互联网科技怎么样
互联网科技热点资讯
中国互联网有什么科技含量
南京一网一红互联网科技有限公司
恒生科技指数 中概互联网
知域互联网科技有限公司官网