root двоичного дерева, все значения вершин в нём разные. Даны также два значения first и second, оба есть в дереве.
Верните расстояние между вершинами с этими значениями — число рёбер на пути от одной до другой. Ходить по рёбрам можно в обе стороны, и вверх, и вниз. Если first и second совпадают, расстояние равно 0.root=tree_node([10, 4, 15, 2, 7, None, 20]), first=7, second=20 → 4
Путь 7 → 4 → 10 → 15 → 20 проходит по четырём рёбрам.
root=tree_node([10, 4, 15, 2, 7, None, 20]), first=4, second=2 → 1
2 — ребёнок 4, между ними одно ребро.
root=tree_node([8, 3]), first=3, second=3 → 0
От вершины до неё самой 0 рёбер.
Node.val ≤ 10⁹, все значения различныfirst и second есть в деревеroot=tree_node([10, 4, 15, 2, 7, None, 20]), first=7, second=20
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 33 теста на сервере, включая скрытые.