亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

算法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

巴彦县| 瑞金市| 合水县| 调兵山市| 五河县| 上饶县| 淮安市| 根河市| 资源县| 介休市| 垫江县| 灵寿县| 绩溪县| 安化县| 子洲县| 彰化县| 石家庄市| 广灵县| 阜新市| 汝城县| 黄冈市| 赣州市| 定安县| 九龙城区| 白水县| 泾川县| 马山县| 汤阴县| 新晃| 长寿区| 肇源县| 屯门区| 沙湾县| 临沧市| 申扎县| 赣州市| 岗巴县| 乌兰浩特市| 西贡区| 西峡县| 黄石市|