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
List the applications of set adt?
Why is merge sort faster?
Is any implicit arguments are passed to a function when it is called?
Why is waste sorting important?
What is an example of an algorithm?
How do we search a specific element in an array?
How do you use the sort function?
What is unhashable type list?
Tell me what is quick sort?
What is stable sorting?
What is difference between hashmap and arraylist?
How does arraylist size work?
Which is the parent class of linkedlist class?
What is the best case complexity of quicksort?
Write the algorithm for converting infix expression to postfix expression?