問題描述:https://oj.leetcode.com/problems/linked-list-cycle/
如果你在網上搜索這個題的解法,肯定是使用兩個指針,fast和slow,每次slow指針前進一步,fast指針前進兩步,如果fast和slow不爲null並且fast==slow,那麼說明鏈表有環,但是真正給出解釋的卻寥寥無幾矣,有的也只是硬生生的貼出來代碼而已,連個文字解說都沒有,實在搞不懂意義何在。最近趁下班時間,研究了一下,終於(自認爲)弄明白了這種解法的可行性,所以寫出來分享一下,順便讓衆猿友看看有沒有錯誤的地方。
所以,現在要求解的問題是如果鏈表存在環,那麼pSlow和pFast爲什麼會相遇?
首先定義環的長度:環中結點的個數(或者環中鏈接的個數)
SHIT!!!, 昨晚剛用word做好圖,打開csdn插入圖片,尼瑪,CSDN正在維護中,博客也寫了一半,真是。。。索性把東西都寫在word上了,都以圖片的形式插入進來吧。