LinkedList Довжина циклу
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 128 мегабайтів
Задано зв'язний список. Потрібно визначити довжину його циклу. Якщо циклу немає, поверніть -1.
Опис зв'язного списку:
// Java class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } }
// C++ class ListNode { public: int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };
// C struct ListNode { int val; struct ListNode *next; };
Реалізуйте функцію CycleLength, яка обчислює довжину циклу. Якщо циклу немає, поверніть -1.
// Java int CycleLength(ListNode head)
// C, C++ int CycleLength(ListNode *head)
Приклад
Функція CycleLength повертає -1, оскільки зв'язний список не містить циклу.
Функція CycleLength повертає 3, що є довжиною циклу (3 → 4 → 5 → 3).
Відправки 1K
Коефіцієнт прийняття 37%