문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
두 개의 단일 연결 리스트 headA와 headB가 주어졌을 때, 두 리스트가 교차하는 노드를 반환해라. 만약 두 연결 리스트가 교차하지 않는다면 null을 반환해라.
예를 들어, 아래의 두 연결 리스트는 노드 c1에서 교차하기 시작한다.

이번 문제의 예는 설명이 굉장히 많아서 직접 링크를 통해 확인하길 바란다.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
if(headA == null || headB == null) return null;
ListNode a = headA;
ListNode b = headB;
while(a != b){
a = a == null ? headB : a.next;
b = b == null ? headA : b.next;
}
return a;
}
}