160. Intersection of Two Linked Lists (Easy)---python
- 相遇问题(是指地址相同而不是值),重点是要同时出发
- 思路一:A和B分别走完自己的路走别人的路,不相遇返回null,相遇了就在一起。
- 思路二:第一步:A和B走自己的路,看各自的路有多长。
第二步:路程长的那个人先把长出来的路走完,确保两人剩下的路程一样远,然后一起开始走。
然后:相遇或者各走各的。
- 下面用的是思路一:
class Solution(object):
def getIntersectionNode(self, headA, headB):
"""
:type head1, head1: ListNode
:rtype: ListNode
"""
if not headA or not headB:
return Null
else:
pa, pb = headA, headB
while pa is not pb:
pa = headB if pa == None else pa.next # if else 为三目表达式
pb = headA if pb == None else pb.next
return pa
链表 160.找出两个链表的交点