My Twelfth Page - 环形链表Ⅱ - By Nicolas
這篇page針對(duì)的是leetcode上面142.環(huán)形鏈表Ⅱ所寫(xiě)的,小尼首先給大家簡(jiǎn)單說(shuō)明一下這道題的意思,給定一個(gè)鏈表的頭節(jié)點(diǎn)head,返回鏈表開(kāi)始進(jìn)入環(huán)的第一個(gè)節(jié)點(diǎn),如果鏈表無(wú)環(huán),則返回null
首先小尼先上一下圖說(shuō)明一下這道題的思路:
小尼這里給出思路,這里最終重要的揭露就是x=z,這個(gè)的出來(lái)是因?yàn)樯厦娴牡仁街?n-1)表示的是快指針跑的圈數(shù),這個(gè)不會(huì)不會(huì)影響我們對(duì)x與z值的判斷
這里小尼給出代碼:
LinkNode slow = head;
LinkNode fast = head;
while(fast != null && fast.next != null){
? ? ? ? slow = slow.next;
? ? ? ? fast = fast.next;
? ? ? ? if(fast == slow){
? ? ? ? ? ? ? ? LinkNode index = fast;
? ? ? ? ? ? ? ? LinkNode index1 = head;
????????}
? ? ? ? while(index != index1){
? ? ? ? ? ? ? ? index = index.next;
? ? ? ? ? ? ? ? index1 = index1.next;
????????}
? ? ? ? return index;
}
return null;
當(dāng)我們找出slow和fast相等的位置的時(shí)候,我們這個(gè)時(shí)候就記錄此時(shí)的節(jié)點(diǎn),記錄為index,然后再記錄index1,然后我們?cè)賵?zhí)行一個(gè)while循環(huán),當(dāng)我們循環(huán)的過(guò)程中我們的兩個(gè)進(jìn)入循環(huán)的值相等時(shí)這個(gè)時(shí)候就我們的節(jié)點(diǎn)進(jìn)入環(huán)形鏈表的入口。
?
?
總結(jié)
以上是生活随笔為你收集整理的My Twelfth Page - 环形链表Ⅱ - By Nicolas的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言多人对战贪吃蛇,双人对战贪吃蛇
- 下一篇: 使用html+css画一个波士顿凯尔特人