leetcode:141. 环形链表

一、题目

函数原型:

bool hasCycle(struct ListNode *head)
二、算法

判断不是环形链表,只需遍历链表找到空结点即可。

判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步,快指针一次走两步。当两个指针都进入环时,快指针走地比慢指针快,因此快指针总会遇到慢指针。因此,判断是环形链表的条件是慢指针等于快指针。
三、代码

cpp 复制代码
bool hasCycle(struct ListNode *head) {
    struct ListNode *fast=head;
    struct ListNode *slow=head;

    while(fast&&fast->next)
    {
        fast=fast->next->next;
        slow=slow->next;
        if(fast==slow)
            return true;
    }
    return false;
}
相关推荐
yuanyuan2o25 分钟前
Transformers NLP 任务:阅读理解问答
人工智能·算法·自然语言处理·nlp·github
菜菜的顾清寒16 分钟前
力扣HOT100(52)动态规划 - 最长递增子序列
算法·leetcode·动态规划
WBluuue22 分钟前
数据结构与算法:树上启发式合并
数据结构·c++·算法·启发式算法
x_xbx39 分钟前
LeetCode:20. 有效的括号
算法·leetcode·职场和发展
计算机安禾39 分钟前
【算法设计与分析】第40篇:空间数据结构:KD树与四叉树的查询分析
数据结构·算法
江屿风1 小时前
C++图的两种构建算法流食般投喂-竞赛编
开发语言·c++·笔记·算法·图论
m沐沐1 小时前
【机器学习】信用卡欺诈检测实战:逻辑回归 + 过采样
人工智能·算法·机器学习·pycharm·逻辑回归
代码中介商1 小时前
图论入门:从基础到遍历算法
数据结构·算法·图论
csdn_aspnet1 小时前
Python 霍尔分区算法(Hoare‘s Partition Algorithm)
开发语言·python·算法
8Qi81 小时前
LeetCode 295:数据流的中位数(Median Finder)—— Java 题解 ✅
java·算法·leetcode·优先队列··中位数