欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 【随机链表的复制】python刷题记录

【随机链表的复制】python刷题记录

2024/10/25 15:20:24 来源:https://blog.csdn.net/m0_73629042/article/details/140816484  浏览:    关键词:【随机链表的复制】python刷题记录

R3-哈希表

参考k神题解 

哈希表法:

"""
# Definition for a Node.
class Node:def __init__(self, x: int, next: 'Node' = None, random: 'Node' = None):self.val = int(x)self.next = nextself.random = random
"""class Solution:def copyRandomList(self, head: 'Optional[Node]') -> 'Optional[Node]':if not head:return dict={}#复制各节点,并建立“原结点-》新结点”的map映射cur=headwhile cur:dict[cur]=Node(cur.val)cur=cur.nextcur=head#构建新节点的next和random指向while cur:dict[cur].next=dict.get(cur.next)dict[cur].random=dict.get(cur.random)cur=cur.next#返回新链表的头结点return dict[head]

 

ps:

此外,还能使用拼接+拆分法

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com