一個鏈表中包含環,請找出該鏈表的環的入口結點。

圖畫的不錯~~ 思路: X:鏈表頭結點,Y:還入口結點,Z:第一次相遇結點 第一次相遇時slow走過的距離:a+b,fast走過的距離:a+b+c+b fast走的距離是slow的2倍,2(a+b) = a+b+c+b,可以得到a=c(這個結論很重要!) 我們發現還的長度L=b+c=a+b,也就是說,從一開始到二者第一次相遇,循環的次數就等於環的長度
相關文章
相關標籤/搜索