ToB企服应用市场:ToB评测及商务社交产业平台

标题: Python | Leetcode Python题解之第138题随机链表的复制 [打印本页]

作者: 天津储鑫盛钢材现货供应商    时间: 2024-6-20 19:55
标题: Python | Leetcode Python题解之第138题随机链表的复制
标题:

题解:
  1. class Solution:
  2.     def copyRandomList(self, head: 'Optional[Node]') -> 'Optional[Node]':
  3.         allNode=[] # 用一个数组存储所有结点
  4.         cur1=head
  5.         while cur1:
  6.             allNode.append(cur1)
  7.             cur1=cur1.next
  8.         n=len(allNode)
  9.         allRandom=[-1]*n # 用一个数组存储所有节点的random指向的结点下标(下标-1表null)
  10.         for i in range(n):
  11.             randomNode=allNode[i].random
  12.             if not randomNode:
  13.                 continue
  14.             for j in range(n):
  15.                 if randomNode==allNode[j]:
  16.                     allRandom[i]=j
  17.                     break
  18.         dummy=Node(0)
  19.         cur2=dummy
  20.         for i in range(n):# 创建n个新节点存储在原allNode数组中
  21.             newnode=Node(allNode[i].val)
  22.             allNode[i]=newnode
  23.         for i in range(n):# 将n个新节点串联起来
  24.             cur2.next=allNode[i]
  25.             cur2=cur2.next
  26.             if allRandom[i]!=-1:
  27.                 cur2.random=allNode[allRandom[i]]
  28.         return dummy.next
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4