LeetCode138 複製帶隨機指標的鍊錶

2022-06-27 10:15:12 字數 690 閱讀 1240

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

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

//

章節 - 鍊錶

//四、小結

//4.複製帶隨機指標的鍊錶

/*演算法思想:

emmm..這道題不會0.0

1. 在原鍊錶的每個節點後面拷貝出乙個新的節點

2. 依次給新的節點的隨機指標賦值,而且這個賦值非常容易 cur->next->random = cur->random->next

3. 斷開鍊錶可得到深度拷貝後的新鍊錶

*///

演算法實現:/**

* definition for singly-linked list with a random pointer.

* struct randomlistnode

* }; */

class

solution

cur =head;

while

(cur)

cur = cur->next->next;

}cur =head;

randomlistnode *res = head->next;

while

(cur)

return

res;

}};

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

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

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

題目 給定乙個鍊錶,每個節點包含乙個額外增加的隨機指標,該指標可以指向鍊錶中的任何節點或空節點。要求返回這個鍊錶的深拷貝。示例 輸入 got eof at end of input 1 next at position 9 ref 2 val 2 rand ref 2 val 1 my defini...

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

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