[LeedCode OJ]#141 Linked List Cycle

来源:互联网 发布:桌面整理软件推荐 编辑:程序博客网 时间:2024/06/05 17:28

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】


题目链接:https://leetcode.com/problems/linked-list-cycle/


题意:

给定一个链表,判断这个链表是否有环


思路:

设定快慢指针,快指针一次走两步,慢指针一次走一步,如果快指针到达NULL就代表无环,一旦快指针与慢指针相等那么就代表有环


/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution{public:    bool hasCycle(ListNode *head)    {        if(head==NULL)            return false;        ListNode *fast,*slow;        fast = slow = head->next;        while(fast!=NULL&&fast->next!=NULL)        {            fast = fast->next->next;            slow = slow->next;            if(fast==slow)                return true;        }        return false;    }};


0 0