def getIntersectionNode(self, headA, headB):
"""
核心是理解相交链表的定义:如果相交后面的链表相等即是同一个
"""
l1,l2 = self.len(headA),self.len(headB)
n = l1 - l2
if n > 0:###A长
while n > 0:
headA = headA.next
n -= 1
else:
n = abs(n)
while n > 0:
headB = headB.next
n -= 1
while headA and headB:
if headA == headB:
return headA
else:
headA = headA.next
headB = headB.next
return None
def len(self,head):
count = 0
while head:
count += 1
head = head.next
return count