题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
from re import I # class ListNode: #from pandas import notnull # 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 ): # write code here i=pHead1 j=pHead2 #画图,可以得出如果不相交,i指针从链表1移动完,再从链表2移动完,正好,链表2从链表2移动完,然后从链表1移动完然后俩个指针都指向None #如果相交那么从i指针从链表1移动完,再移动到相交部分的,走过的节点数刚好等于j指针从链表2移动完,然后移动到相交的节点。 while i!=j: if i: i=i.next else: i=pHead2 if j: j=j.next else: j=pHead1 return i