欢迎光临散文网 会员登陆 & 注册

牛客网高频算法题系列-BM10-两个链表的第一个公共结点

2022-06-03 10:19 作者:雄狮虎豹  | 我要投稿

牛客网高频算法题系列-BM10-两个链表的第一个公共结点

题目描述

输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)

原题目见:BM10 两个链表的第一个公共结点

解法一:双重循环

使用双重循环遍历2个链表,简单粗暴,不过效率稍低。

解法二:双指针法

使用2个指针l1和l2分别从链表一和链表二的头结点遍历,遍历到尾部后,再分别从链表二和链表一遍历,如果两个链表有公共交点,则l1和l2一定会在交点处相遇,否则,l1和l2分别遍历完两个链表后都是null,没有公共结点。

代码

1.01^{365} ≈ 37.7834343329   

0.99^{365} ≈ 0.02551796445   

相信坚持的力量!


牛客网高频算法题系列-BM10-两个链表的第一个公共结点的评论 (共 条)

分享到微博请遵守国家法律