判断单链表里面有没有环
<br />题目:0.如何判断单链表里面是否有环?<br />算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。<br />这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢?<br /><br />假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向元素i mod n,q指向2i mod n。因此当i≡2i(mod n)时,p与q相遇。而i≡2i(mod n) => (2i - i)
转载
2011-04-01 13:07:00 ·
297 阅读 ·
0 评论