leetcode面试题 02.08. 环路检测
給定一個(gè)有環(huán)鏈表,實(shí)現(xiàn)一個(gè)算法返回環(huán)路的開頭節(jié)點(diǎn)。
有環(huán)鏈表的定義:在鏈表中某個(gè)節(jié)點(diǎn)的next元素指向在它前面出現(xiàn)過的節(jié)點(diǎn),則表明該鏈表存在環(huán)路。
示例 1:
輸入:head = [3,2,0,-4], pos = 1
輸出:tail connects to node index 1
解釋:鏈表中有一個(gè)環(huán),其尾部連接到第二個(gè)節(jié)點(diǎn)。
示例 2:
輸入:head = [1,2], pos = 0
輸出:tail connects to node index 0
解釋:鏈表中有一個(gè)環(huán),其尾部連接到第一個(gè)節(jié)點(diǎn)。
示例 3:
輸入:head = [1], pos = -1
輸出:no cycle
解釋:鏈表中沒有環(huán)。
進(jìn)階:
你是否可以不用額外空間解決此題?
1\檢測有沒有環(huán),使用快慢指針slow和fast(一次走兩步);
2\找位置,當(dāng)找到環(huán)之后,slow從head出發(fā),fast從相遇點(diǎn)出發(fā),一次都走一步,再次相遇為環(huán)的入口點(diǎn)
?
總結(jié)
以上是生活随笔為你收集整理的leetcode面试题 02.08. 环路检测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VirtualBox 修改 VDI 文件
- 下一篇: 2019POS机跳码排名:这类POS机会