题解 | #牛牛队列成环#

牛牛队列成环

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-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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