国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LeetCode[141] [142] 環(huán)形鏈表I II

這篇具有很好參考價值的文章主要介紹了LeetCode[141] [142] 環(huán)形鏈表I II。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

141. 環(huán)形鏈表 - 力扣(LeetCode)

142. 環(huán)形鏈表 II - 力扣(LeetCode)

題解:

快慢指針題

從head開始,一個快指針,一次前進兩步,一個慢指針,一次走一步

如果沒有環(huán),則快指針首先到達鏈表尾部,

如果有環(huán),快慢指針肯定能相遇即fast=slow

141代碼:

class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode* slow = head;
        ListNode* fast = head;
        while(slow && fast && fast->next)//這里的slow可以不用判斷
        {
            slow = slow->next;
            fast = fast->next->next;
            if(slow == fast) return true;
        }
        return false;
    }
};

對于142需要環(huán)的起點,需要找出其中規(guī)律,動手畫一下,當slow與fast相等的時候,假設slow從head開始走了k步,那么此時fast走了2k步,fast多走的k步是鏈表環(huán)的大小,假設相遇時,環(huán)起點與相遇點的距離為n,則head距離環(huán)啟動的距離為k-n,slow繼續(xù)往前走,距離環(huán)起點的距離也為k-n,所以此時任意一個指針從head開始,每次前進一步,剛好在環(huán)起點與slow相遇。代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-762997.html

class Solution {
public:
    ListNode *detectCycle(ListNode *head) {
        if(head == nullptr) return head;
        ListNode* slow = head;
        ListNode* fast = head;
        while(fast != nullptr && slow != nullptr)
        {
            slow = slow->next;
            fast = fast->next;
            
            if(fast != nullptr)
                fast = fast->next;
            if(fast == slow)
                break;
        }
        if(fast == nullptr) return nullptr;
        fast = head;
        while(fast != slow)
        {
            fast = fast->next;
            slow = slow->next;
        }    
        return fast;
    }
};

到了這里,關于LeetCode[141] [142] 環(huán)形鏈表I II的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • leetcode 142 環(huán)形鏈表II

    leetcode 142 環(huán)形鏈表II

    給定一個鏈表的頭節(jié)點 head ,返回鏈表開始入環(huán)的第一個節(jié)點。 如果鏈表無環(huán),則返回 null。 如果鏈表中有某個節(jié)點,可以通過連續(xù)跟蹤 next 指針再次到達,則鏈表中存在環(huán)。 為了表示給定鏈表中的環(huán),評測系統(tǒng)內(nèi)部使用整數(shù) pos 來表示鏈表尾連接到鏈表中的位置(索引從

    2024年02月01日
    瀏覽(22)
  • 【Leetcode】142.環(huán)形鏈表II

    【Leetcode】142.環(huán)形鏈表II

    題意: 給定一個鏈表,返回鏈表開始入環(huán)的第一個節(jié)點。 如果鏈表無環(huán),則返回 null。 為了表示給定鏈表中的環(huán),使用整數(shù) pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環(huán)。 說明 :不允許修改給定的鏈表。 一開始我是這么寫的

    2024年02月16日
    瀏覽(19)
  • LeetCode:142. 環(huán)形鏈表 II

    LeetCode:142. 環(huán)形鏈表 II

    ??道阻且長,行則將至。?? ??算法,不如說它是一種思考方式?? 算法專欄: ????123 題目描述 :給定一個鏈表的頭節(jié)點 head ,返回鏈表開始 入環(huán)的第一個節(jié)點 。 如果鏈表無環(huán),則返回 null 。 如果鏈表中有某個節(jié)點,可以通過連續(xù)跟蹤 next 指針再次到達,則鏈表中存在

    2024年02月07日
    瀏覽(21)
  • LeetCode刷題:142. 環(huán)形鏈表 II

    LeetCode刷題:142. 環(huán)形鏈表 II

    題目: 是否獨立解決: 否,參考了解題思路解決問題,思考了用快慢指針,棧,統(tǒng)計鏈表數(shù)量定位尾巴節(jié)點(因為是環(huán)形鏈表所以是死循環(huán),鏈表數(shù)量用while循環(huán)統(tǒng)計不出來)都沒解決 解題思路:這題其實和環(huán)形鏈表一樣的解題思路,用哈希set將數(shù)據(jù)都存儲進去,如果發(fā)現(xiàn)

    2024年01月21日
    瀏覽(15)
  • ?LeetCode解法匯總142. 環(huán)形鏈表 II

    ?LeetCode解法匯總142. 環(huán)形鏈表 II

    https://github.com/September26/java-algorithms 給定一個鏈表的頭節(jié)點 ? head ?,返回鏈表開始入環(huán)的第一個節(jié)點。? 如果鏈表無環(huán),則返回? null 。 如果鏈表中有某個節(jié)點,可以通過連續(xù)跟蹤? next ?指針再次到達,則鏈表中存在環(huán)。 為了表示給定鏈表中的環(huán),評測系統(tǒng)內(nèi)部使用整數(shù)?

    2024年02月14日
    瀏覽(20)
  • 代碼隨想錄 Leetcode142. 環(huán)形鏈表 II

    代碼隨想錄 Leetcode142. 環(huán)形鏈表 II

    ? ? ? ? 雙指針解決百分之99的鏈表題

    2024年01月19日
    瀏覽(24)
  • 【刷題專欄—突破思維】LeetCode 142. 環(huán)形鏈表 II

    【刷題專欄—突破思維】LeetCode 142. 環(huán)形鏈表 II

    前言 :本篇博客將講解三個OJ題,前兩個作為鋪墊,最后完成環(huán)形鏈表的節(jié)點的尋找 題目鏈接:LeetCode—相交鏈表 題目描述: 給你兩個單鏈表的頭節(jié)點 headA 和 headB ,請你找出并返回兩個單鏈表相交的起始節(jié)點。如果兩個鏈表不存在相交節(jié)點,返回 null 。 圖示兩個鏈表在節(jié)

    2024年02月05日
    瀏覽(19)
  • LeetCode - 142. 環(huán)形鏈表 II (C語言,快慢指針,配圖)

    LeetCode - 142. 環(huán)形鏈表 II (C語言,快慢指針,配圖)

    ? ? ? ? 如果你對快慢指針,環(huán)形鏈表有疑問,可以參考下面這篇文章,了解什么是環(huán)形鏈表后,再做這道題會非常簡單,也更容易理解下面的圖片公式等。 LeetCode - 141. 環(huán)形鏈表 (C語言,快慢指針,配圖)-CSDN博客 ? ? ? ? 上述文章總結: 如果一個鏈表是環(huán)形鏈表,采用

    2024年02月05日
    瀏覽(91)
  • 每日兩題 / 142. 環(huán)形鏈表 II & 146. LRU 緩存(LeetCode熱題100)

    每日兩題 / 142. 環(huán)形鏈表 II & 146. LRU 緩存(LeetCode熱題100)

    142. 環(huán)形鏈表 II - 力扣(LeetCode) 用哈希記錄走過的節(jié)點即可 146. LRU 緩存 - 力扣(LeetCode) O ( 1 ) O(1) O ( 1 ) 地查找并修改kv結構,用unordered_map即可解決 問題是題目要求:哈希表容量有限,超出容量時,將刪除最久未訪問的kv 那么關鍵就在于:如何用數(shù)據(jù)結構表示訪問的先后順

    2024年04月16日
    瀏覽(26)
  • 數(shù)據(jù)結構:帶環(huán)單鏈表基礎OJ練習筆記(leetcode142. 環(huán)形鏈表 II)(leetcode三題大串燒)

    數(shù)據(jù)結構:帶環(huán)單鏈表基礎OJ練習筆記(leetcode142. 環(huán)形鏈表 II)(leetcode三題大串燒)

    目錄 一.前言? 二.leetcode160.?相交鏈表? 1.問題描述 2.問題分析與求解 三.leetcode141.?環(huán)形鏈表 1.問題描述 2.代碼思路? 3.證明分析? 下一題會用到的重要小結論: 四.leetcode142.?環(huán)形鏈表 II 1.問題描述 2.問題分析與求解 Judgecycle接口: 方法一: 方法二:? 單鏈表和帶環(huán)單鏈表

    2023年04月08日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包