如题:怎么证明一个链表是循环链表呢?
1、从head出发一直向下寻找节点的next指针域,找到NULL或者找到head指针。
2、设计两个不同的步长,比如1和2,同时开始向下扩展,如果能够再次相遇则证明是循环链表。
为什么呢?如果不是循环链表,则肯定不会相遇了。反之,相遇了就是循环链表。
(来自程序员面试宝典)
如题:怎么证明一个链表是循环链表呢?
1、从head出发一直向下寻找节点的next指针域,找到NULL或者找到head指针。
2、设计两个不同的步长,比如1和2,同时开始向下扩展,如果能够再次相遇则证明是循环链表。
为什么呢?如果不是循环链表,则肯定不会相遇了。反之,相遇了就是循环链表。
(来自程序员面试宝典)