Leetcode 138 複製帶隨機指標的鍊錶

2021-09-13 18:32:52 字數 714 閱讀 4376

題目:給定乙個鍊錶,每個節點包含乙個額外增加的隨機指標,該指標可以指向鍊錶中的任何節點或空節點。

要求返回這個鍊錶的深拷貝。

示例:輸入:

', got 'eof' at end of input: …":"1","next":' at position 9: ref":"2"}̲,"val":2},"rand…ref」:「2」},「val」:1}

my:

/*

// definition for a node.

class node

public node(int _val,node _next,node _random)

};*/

//22行引數,把return中的new node(head..) 錯寫位node;

class solution

mapmap =new hashmap<>();

node node=head;

node reshead=new node(head.val,null,null);

map.put(node,reshead);

node=node.next;

while(node!=null)

node=head;

while(node!=null)

return reshead;

}}

還有一種方法是不用map,用交叉連線後,再拆分。

LeetCode 138 複製帶隨機指標的鍊錶

1.題目 2.解答 第一次遍歷鍊錶的時候,複製舊鍊錶的節點值建立乙個新的鍊錶,同時定義乙個 unordered map 作為雜湊表,雜湊表的鍵為舊鍊錶的節點指標,值為新鍊錶的節點指標。然後,第二次遍歷鍊錶,訪問舊鍊錶節點的隨機指標,然後以此為鍵從 map 中取出對應的新鍊錶節點指標,這也就是當前新鍊...

LeetCode 138 複製帶隨機指標的鍊錶

給定乙個鍊錶,每個節點包含乙個額外增加的隨機指標,該指標可以指向鍊錶中的任何節點或空節點。要求返回這個鍊錶的深拷貝。示例 解釋 節點 1 的值是 1,它的下乙個指標和隨機指標都指向節點 2 節點 2 的值是 2,它的下乙個指標指向 null,隨機指標指向它自己。你必須返回給定頭的拷貝作為對轉殖列表的...

leetcode138 複製帶隨機指標的鍊錶

給定乙個鍊錶,每個節點包含乙個額外增加的隨機指標,該指標可以指向鍊錶中的任何節點或空節點。要求返回這個鍊錶的深拷貝。做這道題分為三步 假設我們要複製的鍊錶如下 橙色的為隨機指標 遍歷原鍊錶的每乙個結點,複製新結點,插到原鍊錶的後邊 遍歷原鍊錶的每乙個節點,進行新結點random的設定 把一條鍊錶拆分...