【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;
    }
};
相关推荐
npupengsir15 小时前
nano vllm代码详解
人工智能·算法·vllm
m0_5698814715 小时前
C++中的组合模式高级应用
开发语言·c++·算法
m0_7301151116 小时前
高性能计算负载均衡
开发语言·c++·算法
灰色小旋风16 小时前
力扣19删除链表的倒数第N个结点(C++)
c++·算法·leetcode·链表
孞㐑¥16 小时前
算法—记忆化搜索
开发语言·c++·经验分享·笔记·算法
二进制星轨16 小时前
leecode-70-颜色分类-算法题解
数据结构·算法·排序算法
xushichao198916 小时前
代码覆盖率工具实战
开发语言·c++·算法
2401_8579182916 小时前
C++与WebAssembly集成
开发语言·c++·算法
2401_8796938716 小时前
C++与微服务架构
开发语言·c++·算法
2501_9083298516 小时前
C++中的装饰器模式实战
开发语言·c++·算法