我有一个作业,需要找到两个单链表的交集。我还需要找到两个双向链表的交集:
对于单向链表,我使用
mergeSort()
来对两个列表进行排序,然后一项一项地进行比较 ==>O(m.log(m) + n.log(n))对于双向链表,我感到困惑:同样的方法可能有效,但我猜应该有更快的方法。
请问是否有更加高效的方法来查找两个双向链表的交集?我认为可能可以将它们合并并检查重复项,但我不确定这将如何运作以及其效率如何。
编辑:此处的“交集”指的是共享值,而不是共同节点。 编辑:实现应当在没有使用哈希的情况下完成。