如何判断单链表中是否有环
思路:找两个指针,一个一下走一步,一个一下走两步。
证明:如果两个指针能够碰到一块表示这个链表一定有环。
本质上而言,无非只有三种情况:
1.fast和slow指向同一个结点
2.fast在slow之前的一个结点
3.fast在slow之后的一个结点
fast指针是定要超过,slow指针的,怎么超过呢,超过的前提是两个指针在指向同一个结点之上的。如果没有超过slow指针,而想要超过,那么就必须指向同一个结点后才能超过。
如何判断单链表中是否有环
思路:找两个指针,一个一下走一步,一个一下走两步。
证明:如果两个指针能够碰到一块表示这个链表一定有环。
本质上而言,无非只有三种情况:
1.fast和slow指向同一个结点
2.fast在slow之前的一个结点
3.fast在slow之后的一个结点
fast指针是定要超过,slow指针的,怎么超过呢,超过的前提是两个指针在指向同一个结点之上的。如果没有超过slow指针,而想要超过,那么就必须指向同一个结点后才能超过。