【文件属性】:
文件名称:两两认识leetcode-copy-list-with-random-pointer:使用随机指针复制链表
文件大小:2KB
文件格式:ZIP
更新时间:2021-06-30 22:05:46
系统开源
两两认识leetcode
使用随机指针复制链表
给出一个链表,使得每个节点都包含一个额外的随机指针,该指针可以指向链表中的任何节点或为空。
返回列表的深层副本。
链表在输入/输出中表示为
n
个节点的列表。
每个节点都表示为一对
[val,
random_index]
其中:
val:代表节点的整数。
val
random_index:随机指针指向的节点的索引(范围从0到n-1),如果不指向任何节点,则为null。
从过去
:
好吧,我们已经知道如何克隆一个链表。
只需遍历链表,创建新节点并将前一个节点与当前节点连接起来,然后更新指针。
public
ListNode
clone(
ListNode
head)
{
ListNode
prev
=
null
,
copyHead
=
null
,
ptr
=
head;
while
(ptr
!=
null
)
{
ListNode
node
=
new
ListNode
(ptr
.
val);
if
(prev
==
null
)
copyHead
=
node;
if
(prev
!=
null
)
{
prev
.
【文件预览】:
copy-list-with-random-pointer-master
----README.md(4KB)