题目:输出俩个链表的第一个相交节点,如果没有返回空值。(保证整个链式结构不存在环)
解法:没有环形链表,那就很简单。直接用双指针,从头节点开始,当为空时就跳到另一个链表的头节点,指针相等时就为相交节点,如下图所示。
# 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):
"""
:type head1, head1: ListNode
:rtype: ListNode
"""
A = headA
B = headB
while A != B:
A = A.next if A else headB
B = B.next if B else headA
return A