LeetCode初級-環(huán)形鏈表

題目:

給定一個鏈表蹬铺,判斷鏈表中是否有環(huán)。

為了表示給定鏈表中的環(huán)甜攀,我們使用整數(shù) pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)秋泄。 如果 pos 是 -1规阀,則在該鏈表中沒有環(huán)。

示例 1:

輸入:head = [3,2,0,-4], pos = 1
輸出:true
解釋:鏈表中有一個環(huán)谁撼,其尾部連接到第二個節(jié)點(diǎn)歧胁。

示例 2:

輸入:head = [1,2], pos = 0
輸出:true
解釋:鏈表中有一個環(huán)厉碟,其尾部連接到第一個節(jié)點(diǎn)。

示例 3:

輸入:head = [1], pos = -1
輸出:false
解釋:鏈表中沒有環(huán)箍鼓。

進(jìn)階:
你能用 O(1)(即,常量)內(nèi)存解決此問題嗎款咖?

題目分析:

先說我的想法(獻(xiàn)丑了):我一開始想用map何暮,key就是每個節(jié)點(diǎn)的地址,一直遍歷下去郭卫,如果某個key出現(xiàn)了兩次砍聊,那么就是環(huán)形鏈表了贰军。

后來看到進(jìn)階提到用O(1)內(nèi)存解決問題玻蝌,再參考一下網(wǎng)上大神的解法词疼,感覺我的想法好幼稚~

正解分析:設(shè)置一個快指針,一個慢指針贰盗,快指針每次走兩個许饿,慢指針每次走一個舵盈。

  • 如果沒有環(huán)陋率,那么遍歷一次就結(jié)束了秽晚。
  • 如果有環(huán),那么快指針一定會繞一圈回來追上慢指針赴蝇。

嘿菩浙!這解法真機(jī)靈喔句伶。

C++代碼如下:

/**
 * 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) {
        if (!head || !head -> next) return false;
        
        ListNode* fast = head;
        ListNode* slow = head;
        bool c = false;
        while (fast && fast -> next) {
            slow = slow -> next;
            fast = fast -> next -> next;
            if (fast == slow) {
                c = true;
                break;
            }
        }
        return c;
    }
};
沒圖了
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市考余,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秃殉,老刑警劉巖坝初,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钾军,死亡現(xiàn)場離奇詭異,居然都是意外死亡吏恭,警方通過查閱死者的電腦和手機(jī)拗小,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門樱哼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剿配,“玉大人,你說我怎么就攤上這事阅束。” “怎么了息裸?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵蝇更,是天一觀的道長呼盆。 經(jīng)常有香客問我,道長访圃,這世上最難降的妖魔是什么厨幻? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任腿时,我火速辦了婚禮,結(jié)果婚禮上圈匆,老公的妹妹穿的比我還像新娘漠另。我一直安慰自己跃赚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布纬傲。 她就那樣靜靜地躺著,像睡著了一般肤频。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宵荒,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機(jī)與錄音报咳,去河邊找鬼侠讯。 笑死,一個胖子當(dāng)著我的面吹牛厢漩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播岩臣,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼宵膨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了炸宵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤土全,失蹤者是張志新(化名)和其女友劉穎鸿脓,沒想到半個月后涯曲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幻件,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年拨黔,在試婚紗的時候發(fā)現(xiàn)自己被綠了绰沥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡徽曲,死狀恐怖零截,靈堂內(nèi)的尸體忽然破棺而出秃臣,到底是詐尸還是另有隱情,我是刑警寧澤奥此,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布弧哎,位于F島的核電站稚虎,受9級特大地震影響撤嫩,放射性物質(zhì)發(fā)生泄漏蠢终。R本人自食惡果不足惜序攘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一程奠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兜喻,春花似錦梦染、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肮疗。三九已至晶姊,卻和暖如春伪货,著一層夾襖步出監(jiān)牢的瞬間们衙,已是汗流浹背碱呼。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留愚臀,地道東北人忆蚀。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓姑裂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舶斧。 傳聞我的和親對象是個殘疾皇子欣鳖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2019 iOS面試題大全---全方面剖析面試2018 iOS面試題---算法相關(guān)1茴厉、七種常見的數(shù)組排序算法整理(...
    Theendisthebegi閱讀 11,832評論 7 14
  • 搞懂單鏈表常見面試題 Hello 繼上次的 搞懂基本排序算法,這個一星期呀忧,我總結(jié)了师痕,我所學(xué)習(xí)和思考的單鏈表基礎(chǔ)知識...
    醒著的碼者閱讀 4,588評論 1 45
  • 1.打印兩個有序鏈表的公共部分 【題目】給定兩個有序鏈表的頭指針head1和head2而账,打印兩個鏈表的公共部分。例...
    Miss_麥兜閱讀 823評論 0 1
  • 一只小老鼠悄悄地探出頭泞辐,看到主人的電腦沒有關(guān),上面的畫面在不停地閃動竞滓,它感到很好奇咐吼,看看屋子里沒有人商佑,它大...
    劉一碩閱讀 209評論 0 0
  • 一、獲得新身份 知道自己是誰后,請演好角色 你是人肌幽,那就好好做一個人你是女兒晚碾,那就好好孝敬父母你是姐姐喂急,那就要好好...
    真墨流歌閱讀 184評論 0 1