Faster\Slower 快慢指標的應用

來源:互聯網
上載者:User

標籤:strong   應用   amp   leetcode   指標   鏈表   記錄   移動   

leetcode很多題目都是利用快慢指標來解決題目,下面具體講解下快慢指標。

 

概念

快指標在每一步走的步長要比慢指標一步走的步長要多。快指標通常的步速是慢指標的2倍。在迴圈中的指標移動通常為:faster = faster.next.next, slower = slower.next.

 

應用

1. 用來找中點或中位元

2. 用來判斷鏈表是否有環以及尋找環入口

3. 題目中含有:倒數第n個,那麼設定快指標步長為n,然後快慢指標同時以同一速度走,用慢指標尋找倒數第n個

 

注意

1. 通常需要特別留意鏈表長度的奇偶性

2. 如果快指標步速為慢指標步速2倍,迴圈條件為:faster.next!=null&&faster.next.next!=null

3. 當自行設定快指標步長時, 要考慮步長值等於鏈表長度的特殊情況

4. 尋找倒數第n個時,如果要求刪除鏈表元素時,不要忘記記錄應被刪除元素的前一個元素

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.