How can one find a cycle in the linked list? IF found how
to recognize the cycle and delete that cycle?
Answer Posted / kamran
As far as answer 2 is concerned..it is not correct because
ptr1 and ptr2 is both pointing towards Head. and below
while loop true at first attempt and both the pointer are
still pointing toward head so at first etration condition
will be true even though there is no loop :)
The modified verision is this
bool find_cycle(Node* head){
Node* ptr1 = head;
Node* ptr2 = head->next;
while(ptr1 != NULL && ptr2 != NULL && ptr2->next != NULL)
{
if(ptr1 == ptr2){
printf("\nClycle present in thr LinkList\n");
return true;
}
ptr1 = prt1->next;
ptr2 = ptr2->next->next;
}
return false;
}
| Is This Answer Correct ? | 18 Yes | 1 No |
Post New Answer View All Answers
What are the types of collision resolution strategies in open addressing?
What do you mean by free pool?
What do you mean by balance factor of a node in avl tree?
How does quicksort partition work?
What is the space complexity of selection sort?
Define linear data structures?
What stack means?
What are the pre-requisite for the collection to perform binary search?
Give us a program to reverse a linked list.
Is list a data structure?
What is the complexity of bubble sort?
Is hashset synchronized?
What are red-black trees?
What do you mean by general trees?
What is a data structure node class?