'''
>>>环形链表
    Category	Difficulty	Likes	Dislikes
    algorithms	Easy (44.12%)	557	-
    给定一个链表，判断链表中是否有环。
    为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。
     如果 pos 是 -1，则在该链表中没有环。

    示例 1：
    输入：head = [3,2,0,-4], pos = 1
    输出：true
    解释：链表中有一个环，其尾部连接到第二个节点。

'''

# @lc code=start
# Definition for singly-linked list.
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None

class Solution:
    def hasCycle(self, head: ListNode) -> bool:
        fast = head
        slow = head
        while fast and fast.next:
            if(fast.next == slow):
                return True
            slow = slow.next
            fast = fast.next.next

        return False
# @lc code=end

'''
Accepted
17/17 cases passed (92 ms)
Your runtime beats 17.06 % of python3 submissions
Your memory usage beats 5.39 % of python3 submissions (16.8 MB)
'''