鏈表例題5:查找出有環鏈表的環起點

  主要的方法是使用快慢指針來解決,然後讓快慢指針同時向前進(讓慢指針一次移動一步,快指針一次移動兩步),當慢指針移動k下時指向了環路的開頭,此時快指針已經在環路中移動了k下了,設環路有L個結點這麼長,那麼快指針與慢指針相距爲L-k的路徑長度。因爲都已經進入了環路內,現在就是快指針追慢指針了,慢指針一次移動一步,快指針一次移動兩步, 通過計算,當移動L-k次後,兩指針相遇了,同時兩指針距環路的開關
相關文章
相關標籤/搜索