import java.util.*;
/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
        // 解题思路:2个指针依次走完2个链表,相交处则为第一个公共节点
        // 没有相交则2个指定都会走到最后
        
        ListNode n1 = pHead1;
        ListNode n2 =pHead2;

        while(n1 != n2){
            n1 = (n1==null)?pHead2:n1.next;
            n2 = (n2==null)?pHead1:n2.next;
        }

        return n1;
    }
}