class ListNode:
def __init__(self, x):
self.val = x
self.next = None
def getIntersectionNode(headA: ListNode, headB: ListNode) -> ListNode:
# 在这里补充代码
# pass
if not headA or not headB :
return None
pa, pb =headA, headB
#若相较则指针遍历长度为a+c+b,和b+c+a; 在交点处退出循环
#若不想交,则指针遍历长度为: a+b, b+a; 在链表尾None退出循环
while pa != pb :
if pa :
pa = pa.next
else:
pa = headB
pb = pb.next if pb else headA
return pa #返回交点或None

京公网安备 11010502036488号