集合
class Solution:
def getIntersectionNode(self
, headA
: ListNode
, headB
: ListNode
) -> ListNode
:
visited
= set()
pa
= headA
pb
= headB
while pa
or pb
:
if pa
in visited
:
return pa
if pb
in visited
:
return pb
if pa
is pb
:
return pa
if pa
:
visited
.add
(pa
)
pa
= pa
.next
if pb
:
visited
.add
(pb
)
pb
=pb
.next
return None
双指针
class Solution:
def getIntersectionNode(self
, headA
: ListNode
, headB
: ListNode
) -> ListNode
:
pa
= headA
pb
= headB
while pa
!=pb
:
pa
= pa
.next if pa
else headB
pb
= pb
.next if pb
else headA
return pa
转载请注明原文地址: https://lol.8miu.com/read-8047.html