两个链表的第一个公共节点(python)

一,问题描述:
输入两个链表,找出它们的第一个公共结点。

二,分析

先举个具体的栗子:

有两个链表,上短下长

我们先做两个指针,分别指向上下链表的头节点

让上下两个指针一起走,这样必然有个先到None的

谁先到None说明谁的链表长

这时,我们让短链表的指针也走到None,看他需要走几步。这样就测出了两个链表的长度差

 

 这时,我们把两个指针放回链表头,然后让长链表的指针先走k步

之后再一起出发,直到相遇,相遇点就是第一个公共节点

 

 三,完整代码

原文地址:https://www.cnblogs.com/buyaodong/p/13182702.html