//如果两个链表长度相同,直接遍历即可;
//长度不同,如链表1长度len1,链表2长度为len2,len1>len2,如下所示p1节点从链表1的第len1-len2+1个节点,链表2从链表头开始遍历,此时两个链表遍历长度相等。
同时考虑没有公共节点的情况。

public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
        if(pHead1==null || pHead2== null) return null; 
        ListNode l1 = pHead1;
         ListNode l2 = pHead2;
        while(l1!=l2){
            l1 = l1.next;
            l2 = l2.next;
            if(l1==null && l2==null) return null;//同时注意在没有公共节点的时候,进行判别,否则出现死循环;
            if(l1==null){
                l1 = pHead2;
            }
            if(l2==null){
                l2 = pHead1;
            }
        }
        return l1;
    }