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 different types of algorithms?
Is char array null terminated?
Is arraylist reference type?
In an avl tree, at explain what condition the balancing is to be done?
What is linked list with example?
How does quicksort partition work?
Does concat mutate array?
What is the minimum number of queues needed when implementing a priority queue?
How helpful is abstract data type of data structures?
Does hashmap sort automatically?
Why does hashset use hashmap?
What is the default size of an arraylist?
Can we give size to arraylist?
What is the meaning of arraylist?
Define union-by-weight?