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; };
Реалізуйте функцію DistanceToCycle, яка повертає відстань від початку списку до вузла, з якого починається цикл. Якщо циклу немає, поверніть -1.
// Java int DistanceToCycle(ListNode head)
// C, C++ int DistanceToCycle(ListNode *head)
Приклад
Функція DistanceToCycle повертає -1, оскільки зв'язний список не містить циклу.
Функція DistanceToCycle повертає 2 - це відстань від початку списку до вузла, з якого починається цикл (1 → 2 → 3).
Відправки 665
Коефіцієнт прийняття 38%