使用下一个和随机指针克隆链接列表

时间:2016-07-05 17:50:04

标签: c++ data-structures linked-list

您将获得一个双向链接列表,其中每个节点的一个指针指向下一个节点,就像在单链接列表中一样。但是,第二个指针指向列表中的任意节点,而不仅仅是前一个节点。现在在O(n)时间写一个程序/算法来复制这个列表。

1 个答案:

答案 0 :(得分:1)

尝试自己解决这些难题非常重要 - 这是学习成为编码员的重要部分。但我可以给你一些提示。

首先,您可以复制节点及其next指针吗?这应该很容易。

在您完成此操作后,您是否看到重复other指针连接的困难?你能想象一个额外的内存结构可以帮助你在O(n)中做到吗?

最后,想象一下除了nextother指针之外,每个节点都有一个spare指针,指向什么都没有,你可以修改它。这足以让你解决问题吗?既然那个指针不存在,你能想出一种方法来即兴吗?