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 %