【发布时间】:2014-04-16 06:57:12
【问题描述】:
我们的数据结构课程中有一个项目,但我遇到了一个问题。 由于我们给出的特殊复杂性限制,我无法在网络上找到任何适合此问题的解决方案。 问题: 假设有两个链表,它们在 m 和 n 节点之后相交(并继续)。第一个列表在公共节点之前有 m 个节点,第二个列表在公共节点之前有 n 个节点。 (m 和 n 未知)。 有两个指针 L1、L2 指向每个列表中的第一个链接。 没有指向任何列表末尾的指针。 问题是在 O(m+n) 的限制内找到公共节点 [我们无法运行到任何链接的末尾...],额外内存的限制为 O(1) [没有更改选项/在每个链接中添加附加数据]。 这两个列表只有指向前方的指针(单链表)。 列表指针可以更改,但需要恢复原始列表的顺序。 [虽然会毁掉列表的解决方案也总比没有好]。
我在绘制列表和节点数天之后......在这里失去理智:)
非常感谢, 巴拉克。
【问题讨论】:
标签: data-structures linked-list time-complexity singly-linked-list