慢指標每次移動一格,快指標每次移動兩格,在有環的煉表裡,他們一定會相遇
1、當快指標就在慢指標後面,那麼下一次慢指標移動一位,快指標移動兩位,相遇
2、當快指標和慢指標差乙個位置,那麼下一次慢指標移動一位,快指標移動兩位,他們會變成第一種情況
3、當快指標和慢指標差兩個位置,那麼下一次慢指標移動一位,快指標移動兩位,他們會變成第二種情況
我知道你也在糾結為什麼會沒有快指標跳過慢指標他們沒有相遇的這種情況發生,但是這種情況只會發生在他們相遇後的下一次移動
原因:其實從上面的三步不難看出:快指標是一格一格追趕慢指標的,即他們的距離是…4->3->2->1->0這樣縮短的。所以一定會相遇
快慢指標(一)
快慢指標的概念 該方法會在乙個鍊錶內使用速度不同的兩個指標,來解決一些鍊錶中的實際問題。該方法的主要應用場景 判斷乙個鍊錶中是否含有環 若乙個鍊錶中含有環,找到環路開始的位置 判斷乙個鍊錶是否是回文鍊錶 尋找一組數中的重複數 本篇文章先介紹前兩個應用。判斷乙個鍊錶中是否有環 判斷乙個鍊錶中是否有環,...
快慢指標和其簡單應用
什麼是快慢指標?快慢指標中的快慢指的是移動的步長,即每次向前移動速度的快慢。例如可以讓快指標每次沿鍊錶向前移動2次,慢指標每次向前移動1次。快慢指標的常見應用 1.判斷單鏈表是否為迴圈鍊錶 對於初學迴圈鍊錶者,可能開始想到的方法就是使用雙重迴圈。當外層迴圈步進乙個節點時,內層迴圈就遍歷外層迴圈那節點...
理解一般指標和指向指標的指標
在說指向指標的指標之前,不得不說指向變數的指標。先看如下示例 1.指向整型指標 先看如下示例 1 include 2 using namespace std 3 4 int main 5 執行結果如下 我們先看下記憶體分配圖 由上圖可以清楚的知道,輸出整形變數a的值是5,指標變數p的值是001bfd...