环形链表—leetcode141
生活随笔
收集整理的這篇文章主要介紹了
环形链表—leetcode141
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定一個(gè)鏈表,判斷鏈表中是否有環(huán)。
為了表示給定鏈表中的環(huán),我們使用整數(shù) pos 來(lái)表示鏈表尾連接到鏈表中的位置(索引從 0 開(kāi)始)。 如果 pos 是 -1,則在該鏈表中沒(méi)有環(huán)。
示例 1:
輸入:head = [3,2,0,-4], pos = 1
輸出:true
解釋:鏈表中有一個(gè)環(huán),其尾部連接到第二個(gè)節(jié)點(diǎn)。
示例?2:
輸入:head = [1,2], pos = 0
輸出:true
解釋:鏈表中有一個(gè)環(huán),其尾部連接到第一個(gè)節(jié)點(diǎn)。
示例 3:
輸入:head = [1], pos = -1
輸出:false
解釋:鏈表中沒(méi)有環(huán)。
進(jìn)階:
你能用 O(1)(即,常量)內(nèi)存解決此問(wèn)題嗎?
?
思路:利用快慢指針,如果有環(huán),快慢指針一定會(huì)相遇
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:bool hasCycle(ListNode *head) {ListNode* fast = head;ListNode* slow = head;while(fast!=NULL && slow!=NULL){if(fast->next==NULL)return false;fast = fast->next->next;slow = slow->next;if(fast==slow){return true;}}return false;} };?
總結(jié)
以上是生活随笔為你收集整理的环形链表—leetcode141的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 买卖股票的最佳时机—leetcode12
- 下一篇: 只出现一次的数字—leetcode136