您将获得一个双向链接列表,其中每个节点的一个指针指向下一个节点,就像在单链接列表中一样。但是,第二个指针指向列表中的任意节点,而不仅仅是前一个节点。现在在O(n)时间写一个程序/算法来复制这个列表。
答案 0 :(得分:1)
尝试自己解决这些难题非常重要 - 这是学习成为编码员的重要部分。但我可以给你一些提示。
首先,您可以复制节点及其next
指针吗?这应该很容易。
在您完成此操作后,您是否看到重复other
指针连接的困难?你能想象一个额外的内存结构可以帮助你在O(n)中做到吗?
最后,想象一下除了next
和other
指针之外,每个节点都有一个spare
指针,指向什么都没有,你可以修改它。这足以让你解决问题吗?既然那个指针不存在,你能想出一种方法来即兴吗?