160. 相交链表
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
#这里的相交指的是指针相交,并不是两个链表的值相等
class Solution(object):
def getIntersectionNode(self, headA, headB):
curA = headA
curB = headB
lenA , lenB = 0 , 0
while curA != None: #计算headA的长度
lenA += 1
curA = curA.next
while curB != None: #计算headB的长度
lenB += 1
curB = curB.next
curA = headA
curB = headB
gap = lenA - lenB
if lenB > lenA:
gap = lenB - lenA
while gap: #长的那个链表先往后移动
if lenA > lenB:
curA = curA.next
else:
curB = curB.next
gap -= 1
while curA != None:
if curA == curB: #注意这里是指针相等,而不是值相等
return curA
curA = curA.next
curB = curB.next
return None
```定义目录标题)