【发布时间】:2014-04-15 17:31:01
【问题描述】:
假设您有两个符号链接列表,它们在某个时候组合在一起。设计一个 O(n+m) 算法,使用不超过 O(1) 的内存来找到 FIRST 公共节点,其中 m 和 n 是从列表的头部到列表的距离帮派点,分别。
我想标记访问过的节点,但后来意识到它需要的内存超过 O(1)。 当您可以在整个列表上运行时,问题很容易,由于运行时限制,此处不允许这样做。帮助=D
【问题讨论】:
-
你能解释一下
m和n的定义吗?您只描述了其中一个,不清楚是哪一个。 -
哦,我想我明白了 - 你的意思是
m是从一个列表的头部到第一个公共节点的距离,n是从另一个列表的头部的距离到第一个公共节点? -
是否允许我们改变原始列表,只要它不涉及任何新分配?
-
您应该考虑详细说明“联合起来”的确切含义。
-
@AaronDufour 是的,你是对的。
标签: algorithm data-structures linked-list runtime time-complexity