Write an algorithm that counts number of nodes in the circular linked list
Answer Posted / Ashutosh Upadhyay
Here's an iterative solution for counting nodes in a circular linked list. Let `slow` and `fast` be pointers.nn1. Initialize `slow` to the head of the list, and `fast` to `NULL`.n2. Move `fast` two steps ahead of `slow` (i.e., `fast = slow->next->next`).n3. Continue moving `slow` one step ahead (i.e., `slow = slow->next`).n4. If `fast` and `slow` meet, the number of nodes in the circular linked list is one less than the number of steps taken by `slow` since they would have met at the starting node.n5. After step 4, move `slow` to the beginning of the list (i.e., `slow = head`) and increment a counter for each step taken until meeting the original position of `fast`.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
“int a[] = new int[3]{1, 2, 3}” – This a legal way of defining the arrays?
Draw a binary Tree for the expression : A * B - (C + D) * (P / Q)
Can you declare an array without assigning the size of an array?
What sort of serious problems have you experienced, and how have you handled them?
Write a program for Sorting an Array. Which sorting will you prefer?
For the following COBOL code, draw the Binary tree? 01 STUDENT_REC. 02 NAME. 03 FIRST_NAME PIC X(10). 03 LAST_NAME PIC X(10). 02 YEAR_OF_STUDY. 03 FIRST_SEM PIC XX. 03 SECOND_SEM PIC XX.