查看: 34|回覆: 0

用js刷剑指offer(复杂链表的复制)

[複製鏈接]

2

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2012-3-8
發表於 2019-10-15 20:30:00 | 顯示全部樓層 |閲讀模式

题目描述

输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)

思路

牛客网链接

js代码

/*function RandomListNode(x){
    this.label = x;
    this.next = null;
    this.random = null;
}*/
function Clone(pHead)
{
    // write code here
    if (!pHead) return null
    let p = pHead
    while (p) {
        let node = new RandomListNode(p.label)
        node.next = p.next
        p.next = node
        p = p.next.next
    }
    p = pHead
    while (p) {
        if (p.random) p.next.random = p.random
        else p.next.random = null
        p = p.next.next
    }
    
    p = pHead.next
    let root = new RandomListNode(0)
    let q = root
    while (p) {
        q.next = p
        q = q.next
        if (p.next) p = p.next.next
        else break
    }
    q.next = null
    return root.next
}```


来源:https://www.cnblogs.com/dpnlp/p/yongjs-shua-jian-zhioffer-fu-za-lian-biao-de-fu-zh.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部