91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

算法141. 環形鏈表

發布時間:2020-08-04 20:45:15 來源:ITPUB博客 閱讀:154 作者:orastar 欄目:編程語言

1. 題目描述

給定一個鏈表,判斷鏈表中是否有環。

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

示例 1:

輸入:head = [3,2,0,-4], pos = 1
輸出:true
解釋:鏈表中有一個環,其尾部連接到第二個節點。
算法141. 環形鏈表

示例 2:

輸入:head = [1,2], pos = 0
輸出:true
解釋:鏈表中有一個環,其尾部連接到第一個節點。
算法141. 環形鏈表

示例 3:

輸入:head = [1], pos = -1
輸出:false
解釋:鏈表中沒有環。
算法141. 環形鏈表

進階:

你能用 O(1)(即,常量)內存解決此問題嗎?

來源:力扣(LeetCode)
鏈接: https://leetcode-cn.com/problems/linked-list-cycle

2. 解題思路

/*
解題思路:
解法一、雙指針法
1、設置一個快指針fast:一次走兩步
2、設置一個慢指針slow:一次走一步
3、如果存在環鏈表,則fast和slow會重合
4、否則不存在環鏈表
*/

3. 測試結果

解法一、雙指針法
算法141. 環形鏈表

4. C版

/*
title: 算法141. 環形鏈表
author: xidoublestar
method: 雙指針法
type: C
date: 2020-5-25
*/
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
bool hasCycle(struct ListNode* head) {
    if (head == NULL)
        return false;
    struct ListNode* fast = head->next, * slow = head;
    while (fast && fast->next) {
        fast = fast->next->next;
        slow = slow->next;
        if (fast == slow)
            return true;
    }
    return false;
}

6. 復雜度分析

解法一、雙指針法
時間復雜度:O(n)
空間復雜度:O(1)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东山县| 霸州市| 叙永县| 伊川县| 平江县| 宜春市| 察哈| 云安县| 海城市| 都江堰市| 瓦房店市| 汨罗市| 于田县| 太湖县| 丹凤县| 溧水县| 衡东县| 北碚区| 德昌县| 扶绥县| 大渡口区| 定安县| 连江县| 虞城县| 商丘市| 辰溪县| 明溪县| 抚顺县| 乌鲁木齐市| 万载县| 辽中县| 呼图壁县| 建始县| 太保市| 合山市| 政和县| 吉隆县| 即墨市| 昌宁县| 安吉县| 重庆市|