【LeetCode热题100】【链表】环形链表

题目链接:141. 环形链表 - 力扣(LeetCode)

判断一个链表有没有环可以用快慢指针的方法,如果没有环,那么最终可以让两个指针中一个为空,如果有环,那么快指针终会与慢指针相遇

复制代码
class Solution {
public:
    bool hasCycle(ListNode *head) {
        if (head == nullptr || head->next == nullptr)
            return false;
        ListNode *fast = head->next;
        ListNode *slow = head;
        while (fast != slow) {
            if (fast == nullptr || fast->next == nullptr)
                return false;
            fast = fast->next->next;
            slow = slow->next;
        }
        return true;
    }
};
相关推荐
Jane-66677714 分钟前
C语言——表达式、语句、函数
c语言·开发语言·算法
Tony_yitao20 分钟前
12.华为OD机试 - N个选手比赛前三名、比赛(Java 双机位A卷 100分)
java·算法·华为od·algorithm
小龙报21 分钟前
【算法通关指南:数据结构与算法篇】树形结构遍历指南:DFS 递归深搜与 BFS 队列广搜实战解析
c语言·数据结构·c++·算法·链表·深度优先·visual studio
业精于勤的牙21 分钟前
浅谈:快递物流与算法的相关性(六)
算法
qq_4335545424 分钟前
C++ 二维线性DP
c++·算法·图论
风筝在晴天搁浅27 分钟前
代码随想录 115.不同的子序列
算法
c#上位机33 分钟前
halcon2个区域合并为1个区域—union2
图像处理·算法·计算机视觉·halcon
程序员-King.41 分钟前
双指针/滑动窗口—算法总结与教学指南
经验分享·算法·双指针
小武~1 小时前
Leetcode 每日一题C 语言版 -- 274 H-index
c语言·算法·leetcode
0 0 01 小时前
CCF-CSP 36-3 缓存模拟(cache)【C++】
开发语言·c++·算法