题目:
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
我看了几个思路分析,比较多的都是按3步来走的,还有一种是利用递归的方式来解决。我觉得递归的方式比较简单一些,就写了递归的。
/*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
}