架构师训练营第 1 期第 8 周作业
找到两个链表的第一个公共节点
解题思路:
两个链表如果有公共节点,那么从公共节点开始,后面的部分都是公共部分。
由于两个链表的长度可能不同,如果想通过依次比较的方式查找公共节点,应该让长链表先跳过一部分,直到和短链表相同长度。此时再依次向后对比两个链表的节点,即可找到公共节点。
由于预先不知道链表的长度,需要分别遍历一遍长链表和锻炼表,获得各自长度。
长链表要提前跳过的距离即为两个链表长度差。
题解代码参见:https://github.com/kesai123/Architecture01/tree/main/commonBetween2Lists
评论