复杂链表复制

问题描述:
请实现函数ComplexListNode Clone(ComplexListNode head),复制一个复杂链表。在复杂链表中,每个结点除了有一个Next指针指向下一个结点外,还有一个Sibling指向链表中的任意结点或者NULL。
解题思路:
1. 根据原始链表的每个结点N创建对应的复制节点,并添加到每个节点之后,行成一个新的链表
2. 遍历新的链表,重置复制的节点的random指针为原指针的后一个地址
3. 拆分出两个链表
package main

import (
"fmt"
)

type Node struct {
Value int
Next *Node
Random *Node
}

type List struct {
head *Node
tail *Node
size int
}

func (l *List) Length() int {
cnt := 0
node := l.head
for node != nil {
cnt ++
node = node.Nex

复杂链表复制最先出现在Python成神之路

版权声明:
作者:admin
链接:https://www.techfm.club/p/28777.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>