首页 > 其他 > 详细

单向链表是否有交点以及查找交点

时间:2014-12-19 17:26:44      阅读:256      评论:0      收藏:0      [点我收藏+]

如何判断是否有交点?

两个单向链表,如果有交点,那么它们最后的一个结点必定是同一个结点。我们可以找到链表最后一个结点,比较它们是否是同一个结点。

如果两个链表有交点,如何判断交点的位置呢?

把一个链表中的每一个结点与另一个链表的中每一个结点做比较,如果找到相同的,那么这个相同的就是交点了。但是这个算法的时间复杂度为O(mn)。

如果两个链表相交,那么交点的位置到链表末端肯定相同(后面就是同一个链表了)。我们可以把两个链表以尾端为起始位置来对齐。从对齐后,依次比较每一个结点,这样算法复杂度为O(m+n)。


单向链表是否有交点以及查找交点

原文:http://blog.csdn.net/wdkirchhoff/article/details/42029545

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!