We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
Cycle Detection
Cycle Detection
Sort by
recency
|
1348 Discussions
|
Please Login in order to post a comment
A linked list is said to contain a cycle if any node is visited more than once while traversing the list. Given a pointer to the head of a linked list, determine if it contains a cycle. If it does, return . Otherwise, return .
Example
refers to the list of nodes
The numbers shown are the node numbers, not their data values. There is no cycle in this list so return .
refers to the list of nodes
There is a cycle where node 3 points back to node 1, so return .
Function Description
Complete the has_cycle function in the editor below.
It has the following parameter:
SinglyLinkedListNode pointer head: a reference to the head of the list Returns
int: if there is a cycle or if there is not
What is wrong with the below code -> It works in leedcode but fails here if head is None: return False #if head and head.next is None: # return False slow = head fast = head.next while slow: if slow == fast: return True if fast and fast.next: fast = fast.next.next else: return False slow = slow.next return False
Here is my C++ code using a vector.
Is there something wrong with this problem in python? I tried this Tortise vs Hare solution:
as well as a more "standard of just using a set:
Hashmap implementation in Python In the worst case it will have an On complexity