牛客網 複雜鍊錶的複製

2021-08-20 11:23:29 字數 880 閱讀 6079

題目描述:

輸入乙個複雜鍊錶(每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點),返回結果為複製後複雜鍊錶的head。(注意,輸出結果中請不要返回引數中的節點引用,否則判斷程式會直接返回空)

思路:分為三個步驟:

1、根據原始鍊錶中的節點建立新的節點,然後將新的節點連線在對應的原始節點的後面,現在鍊錶中就是乙個原始節點乙個複製後的節點;

2、設定複製出來的節點的m_psibling。假設原始鍊錶上的n的m_psibling指向節點s,那麼對應的複製出來的節點的m_psibling指向s的下乙個節點。

3、把這個長鍊表拆分成兩個鍊錶,把奇數字置的鍊錶連線起來就是原始鍊錶,把偶數字置的鍊錶連線起來就是複製出來的鍊錶。

**:

/*

public class randomlistnode }*/

public class solution

//根據原煉表中的每個節點建立對應的複製節點,並將複製節點連線到相對應的節點的後面

void clonenodes(randomlistnode phead)

}//設定複製出來的節點的指向任意節點的特殊指標

void connectionsiblingnodes(randomlistnode phead)

p=pclone.next;}}

public randomlistnode separatenodes(randomlistnode phead)

while(p!=null)

return pclonehead;

}}

注意:randomlistnode pclone=new randomlistnode(p.label);必須要在括號裡賦乙個值,不賦值就會有錯誤。

牛客網 複雜鍊錶的複製

輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 思路參考 苦練演算法 劍指offer 二十 五 複雜鍊錶的複製 python編寫 先複製原...

牛客網18 複雜鍊錶的複製

輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 coding utf 8 class randomlistnode def init se...

牛客網刷題之複雜鍊錶

題目描述 現在有乙個這樣的鍊錶 鍊錶的每乙個節點都附加了乙個隨機指標,隨機指標可能指向鍊錶中的任意乙個節點或者指向空。請對這個鍊錶進行深拷貝。題目分析 public class solution 當前節點指向複雜鍊錶的頭結點 randomlistnode curnode head 賦值原始鍊錶,並將...