leetcode-----链表-----环链表

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

进阶:

你能否不使用额外空间解决此题?

//想了一段时间,第一次做到这种环链表的情况。有点思路,又感觉到有一层问题突破不了。

//如果求助某度和某歌,发现关于判断回环链表的算法基本是两个指针,分别快慢前进,毫不客气的学习了!


/**
 * 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) {
        ListNode *slow = head, *fast = head;
        while(fast != NULL && fast->next != NULL && fast->next->next != NULL){
            slow = slow->next;
            fast = fast->next->next;
            if(slow == fast){
                return true;
            }
        }
        return false;
    }
};
//很nice!

猜你喜欢

转载自blog.csdn.net/xuchen1230/article/details/80197069