해당 문제의 풀이 과정은 다음과 같다.
function getIntersectionNode(headA: ListNode | null, headB: ListNode | null): ListNode | null {
if(!headA || !headB) return null
let [currentA, currentB] = [headA, headB]
// currentA와 currentB는 반드시 만남
while(currentA !== currentB) {
// head에 끝에 달했을 때 head의 root로 이동하여 교차되는 순간을 캐치
currentA = currentA ? currentA.next : headA
currentB = currentB ? currentB.next : headB
}
return currentA
};