复杂链表的复制

2020-12-02  本文已影响0人  我的天气很好啦

题目:

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针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
}
上一篇下一篇

猜你喜欢

热点阅读