这是一个面试问题,我没有答案。 给出两个列表,你不能改变列表,你不知道长度。 提供最佳算法:
答案 0 :(得分:5)
我假设我们正在谈论简单的链表,我们可以安全地创建列表元素指针的哈希表。
Q1:迭代结束两个列表,如果相应的最后一个元素相同,则列表会在某个时刻合并。
复杂性 - O(N)
,空间复杂度 - O(1)
Q2:
时间复杂度 - O(N)
。空间复杂度 - O(N)
Q3:
时间复杂度 - O(N)
。空间复杂度 - O(1)
答案 1 :(得分:1)
数字1:只需迭代两者,然后检查它们是否以相同的元素结束。那是O(n)并且它不能被打败(因为它可能是最常见的最后一个元素,到那里总是需要O(n))。
答案 2 :(得分:1)
答案 3 :(得分:-2)
遍历列表并有一个全局变量来查找遇到的NULL
个数。如果他们在某个时刻合并,那么只有1 NULL
,那么会有两个NULL
。