1 鏈表是否有環(huán)
先使用快慢指針確定是否有環(huán)
2 鏈表環(huán)交點(diǎn)
L代表環(huán)之前的長(zhǎng)度
x代表環(huán)入口點(diǎn)與相遇處的長(zhǎng)度
R代表環(huán)的長(zhǎng)度
R-x代表環(huán)剩下的長(zhǎng)度
可以得到推導(dǎo)式:
(L+x)2 = L+x+nR
左邊式子表示慢指針在與快指針相遇是還未走完一圈,所以快指針走過(guò)的長(zhǎng)度是慢指針的兩倍
右邊式子表示快指針做過(guò)的長(zhǎng)度是n圈在加上L+x
那么可以得到:
L=nR-x=(n-1)R+(R-x)
也就是說(shuō)從起始點(diǎn)到交點(diǎn)的距離等于從相遇點(diǎn)開(kāi)始按照1速度移動(dòng),移動(dòng)n-1圈后再走R-x長(zhǎng)度接能和起始點(diǎn)開(kāi)始的指針相遇,而x+R-x正好是環(huán)的入口點(diǎn)。
鏈表 環(huán)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 判斷鏈表有沒(méi)有環(huán)有環(huán)鏈表一般我們采取快慢指針來(lái)判斷鏈表是否有環(huán)。思路主要是:定義兩個(gè)指針。fast和slow;fa...
- 1.約瑟夫環(huán)問(wèn)題 示例代碼: 2. 鏈表節(jié)點(diǎn) 解法一:空間O(1) 空間O(M*N) 實(shí)現(xiàn)代碼: 解法二: 解法三...
- 題目:Given a linked list, return the node where the cycle b...