題目:
輸入一個(gè)復(fù)雜鏈表(每個(gè)節(jié)點(diǎn)中有節(jié)點(diǎn)值信认,以及兩個(gè)指針省古,一個(gè)指向下一個(gè)節(jié)點(diǎn),另一個(gè)特殊指針random指向一個(gè)隨機(jī)節(jié)點(diǎn))岖瑰,請(qǐng)對(duì)此鏈表進(jìn)行深拷貝叛买,并返回拷貝后的頭結(jié)點(diǎn)。(注意蹋订,輸出結(jié)果中請(qǐng)不要返回參數(shù)中的節(jié)點(diǎn)引用率挣,否則判題程序會(huì)直接返回空)
我看了幾個(gè)思路分析,比較多的都是按3步來(lái)走的露戒,還有一種是利用遞歸的方式來(lái)解決椒功。我覺(jué)得遞歸的方式比較簡(jiǎn)單一些,就寫了遞歸的智什。
/*function RandomListNode(x){
this.label = x;
this.next = null;
this.random = null;
}*/
function Clone(pHead)
{
// write code here
if (!pHead){
return null
}
const newHead = pHead
newHead.random = pHead.random
newHead.next = Clone(pHead.next)
return newHead
}