141.Linked List Cycle

# 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:
        slow = head
        fast = head
        while fast and fast.next :
            slow = slow.next
            fast = fast.next.next
            if slow == fast:
                return True
        return False

Java 版:

public class Solution {
        public boolean hasCycle(ListNode head) {
            if(head == nullreturn false;
            ListNode slow = head, fast = head.next; // 一开始错写为 fast = head 了
            while(fast != null && fast.next != null){
                if(fast == slow) return true; 
                slow = slow.next;
                fast = fast.next.next;
            }
            return false;
        }
}
原文地址:https://www.cnblogs.com/luo-c/p/12857373.html