链表交叉节点
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} headA
* @param {ListNode} headB
* @return {ListNode}
*/
const getIntersectionNode = (headA, headB) => {
let weakMap = new WeakMap()
while (headA) {
if (!weakMap.has(headA)) {
weakMap.set(headA, headA)
}
headA = headA.next
}
while (headB) {
if (weakMap.has(headB)) {
return weakMap.get(headB)
}
headB = headB.next
}
return null
};
以自己现在的努力程度,还没有资格和别人拼天赋

浙公网安备 33010602011771号