複雜鍊錶的復刻

2021-09-26 02:57:06 字數 492 閱讀 6834

請實現乙個函式可以複製乙個複雜鍊錶。

在複雜鍊錶中,每個結點除了有乙個指標指向下乙個結點外,還有乙個額外的指標指向鍊錶中的任意結點或者nul

思路:分為三步:

第一步將每個節點和下乙個節點中間插入他自己的複製,改變指標;

第二步如果這個節點有random節點,將他給複製的節點

第三步 拆開鍊錶把複製的分離出來

public randomlistnode clone(randomlistnode head)

pnode = head;

while(pnode!=null)

randomlistnode newhead = head.next;

randomlistnode tmp = newhead;

pnode = head;

while (pnode.next != null)

return newhead;

}

劍指offer 複雜鍊錶的復刻

請實現乙個函式可以複製乙個複雜鍊錶。在複雜鍊錶中,每個結點除了有乙個指標指向下乙個結點外,還有乙個額外的指標指向鍊錶中的任意結點或者null。注意 輸入 1,1 0,2 1,4 3,1 3,2 輸出 1,1 0,2 1,4 3,1 3,2 由於不能直接返回原鍊錶,所以我們需要構造出乙個新的鍊錶 思路...

複雜鍊錶的復刻(劍指offer)

請實現乙個函式可以複製乙個複雜鍊錶。在複雜鍊錶中,每個結點除了有乙個指標指向下乙個結點外,還有乙個額外的指標指向鍊錶中的任意結點或者null。注意 函式結束後原煉表要與輸入時保持一致。definition for singly linked list with a random pointer.st...

鍊錶 複雜鍊錶的複製

問題描述 請實現函式complexlistnode clone complexlistnode phead 複製乙個複雜鍊錶。在複雜鍊錶中,每個結點除了有乙個next指標指向下乙個結點之外,還有乙個random指向鍊錶中的任意結點或者null。結點的定義如下 struct randomlistnod...