第8周作业
如何快速判断两个链表是否合并?
使用一个map,先遍历A链表,把所有的节点地址都存在map中,再遍历B链表,在遍历B链表的过程中,找是否有元素在map中出现,如果出现,则找到X。
伪代码
var m map[int]bool
for i in listA:
m[i]=true
for i in listB:
if m[i]:
return i
return error("not found")
时间复杂度是O(m+n)
空间复杂度是O(m)
如何快速判断两个链表是否合并?
使用一个map,先遍历A链表,把所有的节点地址都存在map中,再遍历B链表,在遍历B链表的过程中,找是否有元素在map中出现,如果出现,则找到X。
伪代码
var m map[int]bool
for i in listA:
m[i]=true
for i in listB:
if m[i]:
return i
return error("not found")
时间复杂度是O(m+n)
空间复杂度是O(m)