如何判斷單鏈表有環,並找出環的入口

如何判斷單鏈表有環,並找出環的入口? 時間 O(n) ,空間 O(1) 。 這個面試題仍是蠻有趣的,當時只想出了第一問,第二問實在巧妙。 如圖這個單鏈表,藍色的部分是環。 對於如何判斷鏈表有環,能夠從起點發出兩個指針,一個一次一步,另外一個一次兩步,若是兩個指針相遇,那麼這個單鏈表就有環。 設綠色的地方是指針相遇點。 對於第二問求環的入口,從第一問的相遇點和起點各發出一個速度爲一步的指針,兩個指針
相關文章
相關標籤/搜索