题海拾贝:力扣 141.环形链表

Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!

我的博客: <但凡.

我的专栏: 《编程之路》《数据结构与算法之美》《题海拾贝》

欢迎点赞,关注!

1、题目

2、题解(快慢指针)

我们可以定义两个指针,刚开始时都指向这个链表的头节点,然后让快指针每次走两个节点,慢指针每次走一个节点。如果有环状链表存在,那快慢指针一定会相遇。倘若没有,快指针一定会先走到头,快指针下一个节点是空或者他自己是空时,返回假。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
bool hasCycle(struct ListNode *head) {
    struct ListNode* fast=head;
    struct ListNode* slow=head;
    if(head==NULL||head->next==NULL) return false;

    while( fast!=NULL && slow!=NULL && fast->next!=NULL){
        fast=fast->next->next;
        slow=slow->next;
        if( fast==slow ) return true;
    }
    return false;

}

好了,今天的内容就分享到这,我们下期再!

相关推荐
v_for_van3 分钟前
力扣刷题记录1(无算法背景,纯C语言)
算法·leetcode·职场和发展
sjjhd6527 分钟前
C++模拟器开发实践
开发语言·c++·算法
踩坑记录7 分钟前
leetcode hot100 25. K 个一组翻转链表 hard
leetcode·链表
七夜zippoe8 分钟前
大模型低成本高性能演进 从GPT到DeepSeek的技术实战手记
人工智能·gpt·算法·架构·deepseek
二年级程序员9 分钟前
qsort函数的使用与模拟实现
c语言·数据结构·算法·排序算法
ajole17 分钟前
C++学习笔记——C++11
数据结构·c++·笔记·学习·算法·stl
hoiii18718 分钟前
分布式电源选址定容的MATLAB算法实现
分布式·算法·matlab
客卿12327 分钟前
力扣二叉树简单题整理(第二集)
算法·leetcode·职场和发展
爱编码的傅同学28 分钟前
【今日算法】LeetCode 543.二叉树的直径 621.任务调度器 739.每日温度
数据结构·算法·leetcode
helloworldandy28 分钟前
C++安全编程指南
开发语言·c++·算法