首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

算法学习之数据结构之链表是不是相交,链表是否存在环

2012-09-18 
算法学习之数据结构之链表是否相交,链表是否存在环   当看到判断两链表是否相交,判断链表是否存在环时,就

算法学习之数据结构之链表是否相交,链表是否存在环
   当看到判断两链表是否相交,判断链表是否存在环时,就感觉不知道从何下手,原因是不知道什么是链表相交,什么是链表存在环,所以当明白概念的时候,发现这两个问题并不难,而且,其实两个单链表是否相交是和链表中存在环是有关系的。  一、判断链表是否存在环。  一个链表存在环,指的是,某个节点的next指向的是链表中在他之前的节点,这样在链表尾部形成环。(这个概念很重要。)  弄明白概念后,对于下面两个问题就比较好解决了。问题1,如何判断链表中存在环?问题2如果链表存在环,如何找到环的入口点?  问题1解决办法,弄懂环的概念以后,就能轻易解决了。设置两个指针(slow,fast),初始值都只想头结点,然后slow每次前进一步,fast每次前进两步,如果链表存在环,则fast先进入环,slow后进入环,最后fast会赶上slow两个指针会相遇,如果不存在环,则fast到尾节点则为null了,这样就不会相遇了。具体代码如下:


热点排行