本题参考大佬的巧解,将两个指针遍历两个链表,因为两个的速度和路程相等,那么相遇点一定是相交点,如果两者不相交,因为速度和路程一样那么,都会指向NULL。
还有一种很笨的方法循环里面套循环也可以,但是时间复杂度高。
struct ListNode* FindFirstCommonNode(struct ListNode* pHead1, struct ListNode* pHead2 ) {
   struct ListNode* P1=pHead1,* P2=pHead2;
    while(P1!=P2)
    {
        P1=(P1==NULL)?pHead2:P1->next;
        P2=(P2==NULL)?pHead1:P2->next;       
    }
    return P1;
}