欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實(shí)現(xiàn)LeetCode(141.單鏈表中的環(huán))

 更新時(shí)間:2021年07月22日 16:23:22   作者:Grandyang  
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(141.單鏈表中的環(huán)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

[LeetCode] 141. Linked List Cycle 單鏈表中的環(huán)

Given a linked list, determine if it has a cycle in it.

To represent a cycle in the given linked list, we use an integer pos which represents the position (0-indexed) in the linked list where tail connects to. If pos is -1, then there is no cycle in the linked list.

Example 1:

Input: head = [3,2,0,-4], pos = 1

Output: true

Explanation: There is a cycle in the linked list, where tail connects to the second node.

Example 2:

Input: head = [1,2], pos = 0
Output: true
Explanation: There is a cycle in the linked list, where tail connects to the first node.

Example 3:

Input: head = [1], pos = -1
Output: false
Explanation: There is no cycle in the linked list.

Follow up:

Can you solve it using O(1) (i.e. constant) memory?

這道題是快慢指針的經(jīng)典應(yīng)用。只需要設(shè)兩個指針,一個每次走一步的慢指針和一個每次走兩步的快指針,如果鏈表里有環(huán)的話,兩個指針最終肯定會相遇。實(shí)在是太巧妙了,要是我肯定想不出來。代碼如下:

C++ 解法:

class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode *slow = head, *fast = head;
        while (fast && fast->next) {
            slow = slow->next;
            fast = fast->next->next;
            if (slow == fast) return true;
        }
        return false;
    }
};

Java 解法:

public class Solution {
    public boolean hasCycle(ListNode head) {
        ListNode slow = head, fast = head;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
            if (slow == fast) return true;
        }
        return false;
    }
}

Github 同步地址:

https://github.com/grandyang/leetcode/issues/141

類似題目:

Linked List Cycle II

Happy Number

參考資料:

https://leetcode.com/problems/linked-list-cycle/

https://leetcode.com/problems/linked-list-cycle/discuss/44489/O(1)-Space-Solution

到此這篇關(guān)于C++實(shí)現(xiàn)LeetCode(141.單鏈表中的環(huán))的文章就介紹到這了,更多相關(guān)C++實(shí)現(xiàn)單鏈表中的環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux根據(jù)pid獲取進(jìn)程名和獲取進(jìn)程pid(c語言獲取pid)

    linux根據(jù)pid獲取進(jìn)程名和獲取進(jìn)程pid(c語言獲取pid)

    status文件,第一行的Name即為進(jìn)程名,C程序?qū)崿F(xiàn)根據(jù)PID獲取進(jìn)程名和根據(jù)進(jìn)程名獲取PID,大家參考使用吧
    2013-12-12
  • opencv3/C++繪制幾何圖形實(shí)例

    opencv3/C++繪制幾何圖形實(shí)例

    今天小編就為大家分享一篇opencv3/C++繪制幾何圖形實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++?STL容器與函數(shù)謂詞示例分析講解

    C++?STL容器與函數(shù)謂詞示例分析講解

    這篇文章主要介紹了C++?STL容器與函數(shù)謂詞示例,STL是“Standard?Template?Library”的縮寫,中文譯為“標(biāo)準(zhǔn)模板庫”。STL是C++標(biāo)準(zhǔn)庫的一部分,不用單獨(dú)安裝
    2022-11-11
  • C++ 數(shù)字的反轉(zhuǎn)實(shí)現(xiàn)實(shí)例

    C++ 數(shù)字的反轉(zhuǎn)實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了C++ 數(shù)字的反轉(zhuǎn)實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • OpenCV實(shí)現(xiàn)鼠標(biāo)在圖像上框選單目標(biāo)和多目標(biāo)

    OpenCV實(shí)現(xiàn)鼠標(biāo)在圖像上框選單目標(biāo)和多目標(biāo)

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)鼠標(biāo)在圖像上框選單目標(biāo)和多目標(biāo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • C語言中字符串的存儲方法

    C語言中字符串的存儲方法

    這篇文章主要為大家詳細(xì)介紹了C語言中字符串的存儲方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Gstreamer基礎(chǔ)知識教程

    Gstreamer基礎(chǔ)知識教程

    由于deepstream是基于gstreamer的,所以要想在deepstream上做拓展,需要對gstreamer有一定的認(rèn)識,以下主要介紹Gstreamer整體框架和Gstreamer基礎(chǔ)概念,需要的朋友可以參考下
    2022-07-07
  • c++中new一個結(jié)構(gòu)體初始化過程

    c++中new一個結(jié)構(gòu)體初始化過程

    這篇文章主要介紹了c++中new一個結(jié)構(gòu)體初始化過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • c語言重要的字符串與內(nèi)存函數(shù)

    c語言重要的字符串與內(nèi)存函數(shù)

    這篇文章主要介紹一些c語言中常用字符串函數(shù)和內(nèi)存函數(shù)的使用和注意事項(xiàng),并且為了幫助讀者理解和使用,也都模擬實(shí)現(xiàn)了他們的代碼,需要的朋友可以參考一下
    2021-09-09
  • C++ EnterCriticalSection簡單使用

    C++ EnterCriticalSection簡單使用

    線程鎖在多線程中可以控制線程的執(zhí)行順序,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論