一,问题描述:
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

怎么确定有没有环?
这么来做:我们做两个指针,一快一慢。快的一次前进两格,慢的一次前进一格。
链表中环的入口结点(python)
如果fast指针指向了None,那么说明无环,返回null
如果链表有环,当快慢指针都进入环内后,必然会在某个时刻相遇。链表中环的入口结点(python)
链表中环的入口结点(python)
当fast和slow相遇,就把fast放回起点,slow原地不动
链表中环的入口结点(python)
然后两人一起出发,都每次走一步,直到他们相遇
链表中环的入口结点(python)
这个相遇点就是环的入口

二,代码实现
链表中环的入口结点(python)

相关文章:

  • 2021-06-01
猜你喜欢
  • 2022-12-23
  • 2022-01-05
相关资源
相似解决方案