leetcode链表是否有环

leetcode链表是否有环

题目链接:![https://leetcode.cn/problems/linked-list-cycle/description/\]

解题思路

使用快慢指针法解决。定义两个指针,慢指针一次走一个节点,快指针一次走两个节点,这样就把链表是否有环转换为了追及相遇问题。如果链表有环,慢指针一定会被快指针"套圈"。如果链表没环,那么快指针一定先到表尾。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    bool hasCycle(ListNode* head) {
        if (head == nullptr || head->next == nullptr)
            return false;

        ListNode* fast = head;
        ListNode* slow = head;

        while (slow->next != nullptr && fast->next != nullptr) {
            fast = fast->next->next;
            slow = slow->next;

            if (fast == nullptr || fast->next == nullptr)
                return false;
            if (fast == slow)
                return true;
        }

        return false;
    }
};
相关推荐
Gorway6 小时前
解析残差网络 (ResNet)
算法
拖拉斯旋风6 小时前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用
算法
Wect6 小时前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
前端·算法·typescript
灵感__idea20 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
Wect1 天前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
NAGNIP2 天前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
颜酱2 天前
单调栈:从模板到实战
javascript·后端·算法
CoovallyAIHub2 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub2 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉