LinkedList Цикл точка входу
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 128 мегабайтів
Задано зв'язний список. Поверніть вказівник на вузол, з якого починається цикл. Якщо циклу немає, поверніть null.
Визначення зв'язного списку:
// 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; };
Реалізуйте функцію detectCycle, яка повертає вказівник на вузол, з якого починається цикл. Якщо циклу немає, поверніть null.
// Java ListNode detectCycle(ListNode head)
// C, C++ ListNode* detectCycle(ListNode *head)
Приклад
Функція detectCycle повертає null, оскільки зв'язний список не містить циклу.
Функція detectCycle повертає вказівник на вузол зі значенням 3 - точку входу в цикл.
Відправки 4K
Коефіцієнт прийняття 39%