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

2021-10-10 07:06:18 字數 692 閱讀 7370

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

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

我們用乙個由 n 個節點組成的鍊錶來表示輸入/輸出中的鍊錶。

每個節點用乙個 [val, random_index] 表示:

-----val:乙個表示 node.val 的整數。

-----random_index:隨機指標指向的節點索引(範圍從 0 到 n-1);如果不指向任何節點,則為 null 。

//方法1、 雜湊

class

solution

ptr=head;

while

(ptr)

//ptr指向鍊錶尾部

return mp[head]

;//返回首部節點}}

;

//方法2、map+vector 

//不推薦

class

solution

node_v.

push_back(0

);ptr=head;

i=0;

while

(ptr)

ptr=ptr-

>next;

++i;

}return node_v[0]

;}};

138 複製帶隨機指標的鍊錶

給定乙個鍊錶,每個節點包含乙個額外增加的隨機指標,該指標可以指向鍊錶中的任何節點或空節點。要求返回這個鍊錶的深度拷貝。definition for singly linked list with a random pointer.struct randomlistnode class solutio...

138 複製帶隨機指標的鍊錶

138.複製帶隨機指標的鍊錶 回溯演算法的第一想法是將鍊錶想象成一張圖。鍊錶中每個節點都有2個指標 圖中的邊 因為隨機指標給圖結構新增了隨機性,所以我們可能會訪問相同的節點多次,這樣就形成了環 上圖中,我們可以看到隨機指標指向了前乙個節點,因此形成了環。我們需要考慮這種環的實現。此方法中,我們只需要...

138 複製帶隨機指標的鍊錶

題目 給定乙個鍊錶,每個節點包含乙個額外增加的隨機指標,該指標可以指向鍊錶中的任何節點或空節點。要求返回這個鍊錶的 深拷貝。我們用乙個由 n 個節點組成的鍊錶來表示輸入 輸出中的鍊錶。每個節點用乙個 val,random index 表示 val 乙個表示 node.val 的整數。random i...