有环的定义是单链表的尾指针指向中间节点。(非头节点,若指向头节点则成为循环链表)
判断有环的两种方法。
1.用p和q两个节点,p每次走一次,q每次都从头走到p所在位置。对于每个节点,看p走的步骤是否和q一样。如果不等则有环。比如1->2->3->4->5->6->3 这样的单链表,当p走了5次再走1次到3,而q走2步到3,不等,有环。
2.用快慢指针p、q。p每次走一步,q每次走两步,如果在某个时候p==q,则存在环。
有环的定义是单链表的尾指针指向中间节点。(非头节点,若指向头节点则成为循环链表)
判断有环的两种方法。
1.用p和q两个节点,p每次走一次,q每次都从头走到p所在位置。对于每个节点,看p走的步骤是否和q一样。如果不等则有环。比如1->2->3->4->5->6->3 这样的单链表,当p走了5次再走1次到3,而q走2步到3,不等,有环。
2.用快慢指针p、q。p每次走一步,q每次走两步,如果在某个时候p==q,则存在环。