Linked List Cycle

問題描述:https://oj.leetcode.com/problems/linked-list-cycle/

如果你在網上搜索這個題的解法,肯定是使用兩個指針,fast和slow,每次slow指針前進一步,fast指針前進兩步,如果fast和slow不爲null並且fast==slow,那麼說明鏈表有環,但是真正給出解釋的卻寥寥無幾矣,有的也只是硬生生的貼出來代碼而已,連個文字解說都沒有,實在搞不懂意義何在。最近趁下班時間,研究了一下,終於(自認爲)弄明白了這種解法的可行性,所以寫出來分享一下,順便讓衆猿友看看有沒有錯誤的地方。

所以,現在要求解的問題是如果鏈表存在環,那麼pSlow和pFast爲什麼會相遇?

首先定義環的長度:環中結點的個數(或者環中鏈接的個數)

SHIT!!!, 昨晚剛用word做好圖,打開csdn插入圖片,尼瑪,CSDN正在維護中,博客也寫了一半,真是。。。索性把東西都寫在word上了,都以圖片的形式插入進來吧。



源碼在這裏:https://github.com/coderchen/leetcode

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章