我有两个链表L1和L2。L1 包含多个电子邮件地址(随机顺序(,L2 包含多个垃圾邮件地址(也按随机顺序排列(。现在我不得不从链表 L1 中删除所有垃圾邮件,该链接列表 L2 中存在。
我尝试在 O(n2( 中执行此操作。我希望它以 O(n( 实现它
其中一种方法是使用字典或unordered_map。 遍历您的 L2 链表并创建一个 key: 值对,其中键表示节点的数据(垃圾邮件地址(,值将是其出现的次数。
现在使用查找表通过检查值> 0 来检查两个链表中存在的数据,然后通过提前一步移动节点指针来删除它。
时间复杂度:O(n( 空间复杂度:O(n(