1. 程式人生 > 實用技巧 >105. 複製帶隨機指標的連結串列

105. 複製帶隨機指標的連結串列

105.複製帶隨機指標的連結串列

中文English

給出一個連結串列,每個節點包含一個額外增加的隨機指標可以指向連結串列中的任何節點或空的節點。

返回一個深拷貝的連結串列。

挑戰

可否使用O(1)的空間

hashmap寫法,O(n)時間複雜度
"""
Definition for singly-linked list with a random pointer.
class RandomListNode:
    def __init__(self, x):
        self.label = x
        self.next = None
        self.random 
= None """ class Solution: # @param head: A RandomListNode # @return: A RandomListNode def copyRandomList(self, head): # write your code here #hashmap來儲存,label root = head mapping = {} while head: mapping[head] = RandomListNode(head.label) head
= head.next for node in mapping: if node.next: mapping[node].next = mapping[node.next] if node.random: mapping[node].random = mapping[node.random] return mapping[root]