劍指offer 鍊錶 複雜鍊錶的複製

2021-08-07 06:46:05 字數 923 閱讀 3292

##題目描述

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

##解題思路

第一步,原樣複製,每乙個複製的節點跟在原節點後邊

第二步,確定複製節點的任意指向

第三步,拆分長鍊表為原鍊錶和複製鍊錶

##**實現

/**

* */

package 鍊錶;

/** * * title:randomlistnodeclone

* * * description:

* *

* @author 田茂林

* @data 2023年8月22日 下午4:06:59

*/class randomlistnode

}public class randomlistnodeclone

//第一步,原樣複製,每乙個複製的節點跟在原節點後邊

randomlistnode p = phead;

while(p!=null)

p = phead;

//第二步,確定複製節點的任意指向

while(p!=null)

p=p.next.next;//p移動到下乙個舊節點。

} //第三步,拆分長鍊表為原鍊錶和複製鍊錶

randomlistnode head = phead.next;

randomlistnode cur = head;

p = phead;

while(p!=null)

p = p.next;

cur=cur.next;

} return head;

}}

劍指offer 複雜鍊錶的複製(鍊錶)

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

劍指Offer程式設計練習025 複雜鍊錶的複製

題目描述 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 struct randomlistnode 思路一 遞迴,但是不通過 class...

劍指offer複雜鍊錶複製

題目描述 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 我的 思路比較笨,就是首先構造乙個正常的不大random指標的鍊錶,然後再去遍歷...