new_contents: # Definition for singly-linked list.
  # class ListNode:
  #     def __init__(self, x):
  #         self.val = x
  #         self.next = None
  
  class Solution:
      # @param head, a ListNode
      # @return a list node
      def detectCycle(self, head):
          if head == None or head.next == None:
              return None
          slow = fast = head
          while fast and fast.next:
              slow = slow.next
              fast = fast.next.next
              if fast == slow:
                  break
          if slow == fast:
              slow = head
              while slow != fast:
                  slow = slow.next
                  fast = fast.next
              return slow
          return None
  
subject: Create LinkedListCycle2_002.py