#被大佬教了一个特别惊艳的方法# 我们摸索着向前,盼望着相见,可或许你的路要更长,让我们遗憾地在交叉路口擦肩而过,无妨,当我们各自走过尽头,请回到对方最初的起点,重温对方的路,我们终会在交叉路口,紧紧相拥。 我多想在终点等你,可谁让这道题非要我们相遇在交叉路口才行呢

#     def __init__(self, x):
#         self.val = x
#         self.next = None

#
# 
# @param pHead1 ListNode类 
# @param pHead2 ListNode类 
# @return ListNode类
#
class Solution:
    def FindFirstCommonNode(self , pHead1 , pHead2 ):
        pa, pb = pHead1, pHead2
        while pa != pb:
            if pa:
                pa = pa.next
            else:  #走完了是吧?别闲着,给爷上pHead2那块再走一遍
                pa = pHead2
            if pb:
                pb = pb.next
            else: #走完了是吧?别闲着,给爷上pHead1那块再走一遍
                pb = pHead1
        return pa #哎呀妈呀你说巧不巧, pa和pb遇上了....废话,这回走的总路程一样长,肯定能遇见
        # write code here