数据结构和算法分析

链表是否成环--步差法

2018-01-08  本文已影响15人  像鸟一样飞
好看吗.png

如果链表的长度小于三个的话,那么不可能成环;
步差法的意思就是说一个人走一步,一个人走两步,如果第二个人追上了第一个人(超圈了)那么就代表有环。如果走到了路的尽头,也就是next为null,那么没有环。

分析:
第一次:p = 2 , q = 3;
第二次:p = 3 , q = 5;
第三次:p = 4 , q = 3;
第四次:p = 5 , q = 5; p q 相等,那么单链表成环~

代码:

listCycle.png
上一篇下一篇

猜你喜欢

热点阅读