相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null
js
var getIntersectionNode = function(headA, headB) {
// O(n²)
// while(headA) {
// let tempB = headB
// while(tempB) {
// if(tempB === headA) return tempB
// tempB = tempB.next
// }
// headA = headA.next
// }
// return null
// O(n)
let set = new Set()
while(headA) {
set.add(headA)
headA = headA.next
}
while(headB) {
if(set.has(headB)) return headB
headB = headB.next
}
return null
}