有两个linked lists。他们有共同的尾巴。我想找到最新的元素,这两个列表都是一样的。
例如,
List1
是10-> 4-> 5-> 2 - > 9 - > 53-> 64-> ; 345-> 23
List2
是10-> 4-> 5-> 2 - > 8 - > 53-> 64-> ; 345-> 23-> 43-> 53
我想找到2.
我们可以在O(n)
中迭代列表。
是否有更好的方法来查找所需元素,而不是O(min(n, m))
?
答案 0 :(得分:4)
node1 = list1head
node2 = list2head
ans = {error}
while(node1 && node2 && node1.data == node2.data)
ans = node1.data
node1 = node1.next
node2 = node2.next
end while
return ans
Cost = O(min(m, n))