c_cpp 141.关联名单周期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 141.关联名单周期相关的知识,希望对你有一定的参考价值。

//Runtime: 16 ms, faster than 7.06% 

class Solution {
public:
    bool hasCycle(ListNode *head) {
        if(!head || !head->next ) return false;
        
        set<ListNode *> array;
        
        while(head->next != NULL){
            head = head->next;
            array.insert(head);
            if(array.count(head->next))
                return true;
        }
        return false;
    }
};
//Runtime: 8 ms, faster than 66.59%

class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode *fast = head;
        ListNode *slow = head;
        
        while(fast && fast->next){
            slow = slow->next;
            fast = fast->next->next;
            
            if(fast == slow)
                return true;
        }
        return false;
    }
};

以上是关于c_cpp 141.关联名单周期的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 141.cpp

c_cpp 141.链表循环 - 简易 - 2018.7.30

c_cpp 名单

c_cpp 61.轮换名单 - 中 - 2018.8.10

c_cpp Doube周期

c_cpp 关联函数