如何在两个链表中找到最新的相等元素?

How to find latest equal element in two linked lists?

有两个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)) 更好的查找所需元素的方法?

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))