看上面这个例子时我就很疑惑,如果是两个点值相同就是相交,那么1才是交点啊。然后发现不是的,应该判断整个节点(地址)是不是相同。
那么就好办了。一个很好理解的方法是先计算出两个链表的长度差d,然后让长的那个先走d步,再让两者同时出发,相遇(节点相同)处即为交点。如果两者皆走到了空值,即不相交。
def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode:
lenA=0
lenB