题解 | #牛牛队列成环#

牛牛队列成环

https://www.nowcoder.com/practice/38467f349b3a4db595f58d43fe64fcc7

1.考察知识点:

链表、快慢指针

2.编程语言:

C

3.解题思路:

定义两个快慢指针fast、slow;fast先前进2步,slow先前进1步,因为值唯一所以只需要判断fast和slow的值是否相等,即可判断fast是否可以追上slow,即存在环。循环过程仍为每次fast前进2步,slow前进1步

4.完整代码:

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @return bool布尔型
 */
bool hasCycle(struct ListNode* head ) {
    // write code here
    //定义快慢指针
    struct ListNode *slow = head,*fast = head;
    while(fast && fast->next->next && fast->next)
    {

        fast = fast->next->next;
        slow = slow->next;
        if(slow->val == fast->val)
        {
            return true;
        }
    }
    return false;
}

#面试高频TOP202#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-21 13:38
8月实习会变多吗现在还没找到实习该怎么办...回复的hr好少
码农索隆:3-4月就要开始找,基本上6月份就发offer,7月初已经开始暑期实习了。
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务