题解 | #复杂链表的复制#

复杂链表的复制

https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba

function Clone(pHead)
{
    // write code here
    if(!pHead){
        return null
    }
    //复制节点值,放到原节点后
    let cur = pHead
    while(cur){
        let curCopy =new RandomListNode(cur.label)
        curCopy.next = cur.next
        cur.next = curCopy
        cur=curCopy.next
    }
    
    //构造random
    cur = pHead
    while(cur){
        if(cur.random){
            cur.next.random = cur.random.next
        }
        cur=cur.next.next
    }
    //拆表
    cur = pHead
    let newHead = pHead.next
    while(cur.next){
        tmp = cur.next
        cur.next=tmp.next
        cur = tmp
    }
    return newHead
}

全部评论

相关推荐

点赞 评论 收藏
分享
05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务