【问题标题】:Difference of two Linked list两个链表的区别
【发布时间】:2019-09-11 09:18:10
【问题描述】:

我有两个链表 L1 和 L2。L1 包含多个电子邮件地址(随机顺序),L2 包含多个垃圾邮件地址(也是随机顺序)。现在我必须从 L2 中的链表 L1 中删除所有垃圾邮件。

我已经尝试在 O(n2) 中完成它。我希望它在 O(n) 中实现它

【问题讨论】:

  • 列表是否排序?
  • 不,它们是随机排列的。

标签: data-structures linked-list


【解决方案1】:

其中一种方法是使用字典或 unordered_map。 遍历您的 L2 链表并创建一个键:值对,其中键表示节点的数据(垃圾邮件地址),值将是其出现的次数。

现在使用查找表通过检查值 > 0 来检查两个链表中存在的数据,然后通过将节点指针向前移动一步来删除它。

时间复杂度:O(n) 空间复杂度:O(n)

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 2012-08-11
    • 2014-01-13
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多