购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

8.4 实例3
克隆随机链表

与上面寻找链表的交集比较接近的,就是克隆一个链表。

给定一个链表,使得每个节点都包含一个额外的随机指针,该指针可以指向链表中的任何节点或为空,返回链表的深层拷贝。

链表在输入/输出中表示为 n 个节点的列表。每个节点表示为一对[val,random_index],其中:val表示Node.val的整数;random_index表示随机指针指向节点的索引(范围从0到 n -1),如果不指向任何节点,则为null。

思路:主要是遍历链表里面的每个next节点和random节点。当然需要利用哈希表来存储已经克隆的节点,防止多次生成。示例代码如下。

代码清单8-4 克隆随机链表 qCBJh8zkTxJEn3PO6mi39c6SlPWJC1x2fDOmmXpQhfTNnI7x/TIWA4tedtF0HveE

点击中间区域
呼出菜单
上一章
目录
下一章
×