root двоичного дерева. В каждом узле записано число от 0 до 25, которое обозначает букву: 0 — a, 1 — b, ..., 25 — z.
Выберите любой лист (узел без детей) и прочитайте буквы, поднимаясь от него к корню — получится слово. Верните лексикографически наименьшее из всех таких слов.
Напомним, что при лексикографическом сравнении строки сравниваются по первой различающейся букве, а если одна строка — начало другой, меньше более короткая: "ab" меньше "aba".root=tree_node([2, 0, 1, None, None, 3, 0]) → 'abc'
Листьев три, их слова: "ac", "dbc" и "abc". Наименьшее — "abc": уже во второй букве "b" меньше "c".
root=tree_node([0, 1]) → 'ba'
Единственный лист — "b", от него к корню читается "ba".
root=tree_node([25, 0, 0, 1]) → 'az'
Слова "baz" и "az"; "az" меньше, хотя в нём меньше букв — сравнение идёт по первой различающейся букве.
root=tree_node([2, 0, 1, None, None, 3, 0])
'abc'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 72 теста на сервере, включая скрытые.