root двоичного дерева поиска: у каждой вершины все значения в левом поддереве меньше её значения, а в правом — больше. Дано также число rank.
Верните значение, которое окажется на месте rank, если выписать все значения дерева по возрастанию (нумерация с единицы).
Подумайте, как быть, если дерево часто меняется, а такой запрос приходит постоянно.root=tree_node([20, 10, 30, 5, 15, None, 40]), rank=4 → 20
По возрастанию значения идут так: 5, 10, 15, 20, 30, 40. Четвёртое — 20.
root=tree_node([7, None, 9, 8]), rank=1 → 7
Меньше всех корень 7: левого поддерева у него нет.
root=tree_node([20, 10, 30, 5, 15, None, 40]), rank=4
20
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 43 теста на сервере, включая скрытые.