複雜鍊錶的複製

2021-09-10 21:13:16 字數 538 閱讀 5890

學習內容

複雜鍊錶的複製

(1)思路

逐個複製結點的值域和next指標域,並把複製的結點放在被複製的結點後面。

複製當前結點的random域,付給下一結點。

編號為奇數的結點為原鍊錶結點,剩下的是複製出的新鍊錶節點。

(2)**

/*struct randomlistnode };/

class solution //第二步,處理複雜指標的random

void connectsiblingnodes(randomlistnode* phead)

pnode = pcloned->next;}}

//第三步,拆分複雜指標

randomlistnode* reconnectnodes(randomlistnode* phead)

while(pnode != null)

return pclonedhead;randomlistnode* clone(randomlistnode* phead)

};參考**

鍊錶 複雜鍊錶的複製

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

複雜鍊錶複製

複雜鍊錶複製的標頭檔案mlist.h ifndef mlist h define mlist h include include includetypedef int datatype typedef struct node node,pnode,plist pnode crealist datat...

複製複雜鍊錶

題目 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 解題思路 首先有三種解法 第一種就是中規中矩的解法,首先複製next指標的節點,之後...