### 解体思路

`class LinkNode():    def __init__(self):        self.value = None        self.next = Noneclass Solution():    def creatLinkA(self) -> LinkNode:        node1 = LinkNode()        node1.value = 3        node1.next = None        node2 = LinkNode()        node2.value = 2        node2.next = node1        node3 = LinkNode()        node3.value = 1        node3.next = node2        return  node3    def creatLinkB(self) -> LinkNode:        node1 = LinkNode()        node1.value = 3        node1.next = None        node2 = LinkNode()        node2.value = 2        node2.next = node1        node3 = LinkNode()        node3.value = 5        node3.next = node2        return  node3    def searchFirstLinkNode(self, headA:LinkNode, headB:LinkNode) ->LinkNode:        if headA is None: return None        if headB is None: return None        listA = []        listB = []        while headA is not None:            listA.append(headA)            headA = headA.next        while headB is not  None:            listB.append(headB)            headB = headB.next        commonNode = None        while listB and listA:            nodeB = listB.pop()            nodeA = listA.pop()            if nodeA.value != nodeB.value:                return commonNode            else:                commonNode = nodeA        return Nonesolu = Solution()headA = solu.creatLinkA()headB = solu.creatLinkB()endNode = solu.searchFirstLinkNode(headA,headB)print(endNode.value)`