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

判断链表中是否有环

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

  1. 常规输入检查
  2. 让 head 一步步往前走,另定义一个 fast,两步两步往前走
  3. 如果 head 或者 fast 出现了 null, 说明无环, return false
  4. 如果 head 与 fast 相遇,则说明 有环, return true
bool hasCycle(struct ListNode* head ) {

    if (!head){
        return false;
    }

    struct ListNode* fast = head->next;

    for (int i = 0; i < 10000; i++){
        if (!fast || !(fast->next)){
            return false;
        }
        if (head == fast){
            return true;
        }
        head = head->next;
        fast = fast->next->next;
    }
    return true;
}
全部评论

相关推荐

迟缓的马里奥求你们别...:我双2,FPGA方向,在成都找工作投了上百家,收到面试的不超过10家,是成都这个地方太有说法了。西南柬埔寨
秋招,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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