Контест Middle Связные списки обновлено
Первый общий узел двух списков
Условие
В памяти лежат n узлов, nextᵢ указывает на следующий узел (0 = конец). Из узлов собраны два односвязных списка без циклов с головами h₁ и h₂. Списки могут слиться: с какого-то узла дальше у них общий хвост. Найдите первый общий узел или выведите -1, если списки не пересекаются. Каждый узел принадлежит хотя бы одному из списков.
Ввод: в первой строке n, h₁, h₂ (1 ≤ n ≤ 2500), во второй n чисел next₁ … nextₙ.
Вывод: номер первого общего узла или -1.
Пример 1
Ввод:
7 1 5
2 3 4 0 6 3 0
Вывод:
3
Пример 2
Ввод:
4 1 3
2 0 4 0
Вывод:
-1
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.