题海拾贝:力扣 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;

}

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

相关推荐
fie888918 分钟前
NSCT(非下采样轮廓波变换)的分解和重建程序
算法
晨晖21 小时前
单链表逆转,c语言
c语言·数据结构·算法
YoungHong19922 小时前
面试经典150题[072]:从前序与中序遍历序列构造二叉树(LeetCode 105)
leetcode·面试·职场和发展
im_AMBER2 小时前
Leetcode 78 识别数组中的最大异常值 | 镜像对之间最小绝对距离
笔记·学习·算法·leetcode
鼾声鼾语3 小时前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab
LYFlied3 小时前
【每日算法】LeetCode 25. K 个一组翻转链表
算法·leetcode·链表
Swizard3 小时前
别再迷信“准确率”了!一文读懂 AI 图像分割的黄金标尺 —— Dice 系数
python·算法·训练
s09071363 小时前
紧凑型3D成像声纳实现路径
算法·3d·声呐·前视多波束
可爱的小小小狼3 小时前
算法:二叉树遍历
算法
d111111111d4 小时前
在STM32函数指针是什么,怎么使用还有典型应用场景。
笔记·stm32·单片机·嵌入式硬件·学习·算法