数据结构 - 如何判断两个无环单链表是否相交;如果相交,给出相交的第一个结点
2017-09-12 20:57
399 查看
感想
百度机器学习与数据挖掘面试,居然被问到数据机构了,当时没有准备,猜了一个答案,好像沾到边了。不知道面试官认不认可呢,我反正说的是那个意思。百度了一下,找了一下答案。
求解
比较好的方法有两个:将其中一个链表首尾相连,检测另外一个链表是否存在环;如果存在,则两个链表相交,而检测出来的环入口即为相交的第一个结点。
如果两个链表相交,那个两个链表从相交点到链表结束都是相同的节点。我们可以先遍历一个链表,直到尾部,再遍历另外一个链表,如果也可以走到同样的结尾点,则两个链表相交。这时我们记下两个链表的长度,再遍历一次。长链表节点先出发前进(长链表长度-短链表长度)步,之后两个链表同时前进,每次一步,相遇的第一点即为两个链表相交的第一个点。
参考文献
[1].数据结构 - 如何判断两个无环单链表是否相交;如果相交,给出相交的第一个结点相关文章推荐
- 数据结构 - 如何判断两个无环单链表是否相交;如果相交,给出相交的第一个结点
- 判断两个链表是否相交,如果相交如何找到第一个相交结点。
- 如何判断两个单链表是否相交以及找出第一个相交的位置
- 编程之美-编程判断两个链表(可能含环)是否相交以及相交的第一个结点
- 判断两个单链表是否相交同时找出第一个相交点(单链表是否有环及寻找入口节点)
- 3.6 判断两个无环链表是否相交 & 找出相交的第一个结点
- 【面试题】-判断两个单链表是否相交并求出相交的第一结点
- 第7题 微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交,并找出第一个相交结点。
- 【每日N题】如何判断两个单链表相交?第一个交点在哪里?
- 判断单链表是否有环,如果有找出环的入口位置=>求两个相交链表的交点
- 判断两个单链表是否相交及找到第一个交点
- 两个单向链表,判断它们是否相交,若相交,找出它们的第一个公共的结点
- 【转载】判断单链表是否存在环,判断两个链表是否相交问题详解
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 判断单链表是否存在环,判断两个链表是否相交-的相关讨论
- 如何判断两个单向链表是否有相交,并找出交点
- 如何判断两个链表是否相交并求出相交点
- [转]判断单链表是否存在环,判断两个链表是否相交问题详解
- 链表是否存在环及环入口点、两个链表是否相交、相交链表的第一个公共结点