题解 | 判断链表中是否有环

判断链表中是否有环

https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9

#include <stdbool.h>
/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 * };
 */

/**
 * 
 * @param head ListNode类 
 * @return bool布尔型
 */
bool hasCycle(struct ListNode* head ) {
    // write code here
    struct ListNode* qukly = head;
    struct ListNode* slow = head;
    while(qukly&&qukly->next){      // 之所以两个,是考虑节点个数是奇数还是偶数
        qukly = qukly->next->next;  // 每一次走两步
        slow = slow->next;          // 每一次走一步
        if(qukly==slow){
            return true;            // 快指针追上慢指针
        }
    }
    return false;                   // 没有环,快指针提前结束
}
全部评论

相关推荐

12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
溱元:前端每年固定死几次,看两集广告就复活了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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