root двоичного дерева поиска: в левом поддереве любой вершины все значения меньше её значения, в правом — больше.
Перестройте дерево в «линию»: вершина с наименьшим значением становится корнем, у каждой вершины нет левого ребёнка, а правым ребёнком идёт вершина со следующим по величине значением. Верните новый корень.root=tree_node([20, 10, 30, None, 15]) → [10, None, 15, None, 20, None, 30]
По возрастанию значения идут так: 10, 15, 20, 30. Новый корень — 10, у каждой вершины есть только правый ребёнок.
root=tree_node([4, 2, 6, 1, 3, 5, 7]) → [1, None, 2, None, 3, None, 4, None, 5, None, 6, None, 7]
Полное дерево из семи вершин вытягивается в цепочку 1 → 2 → … → 7.
root=tree_node([42]) → [42]
Одна вершина уже является цепочкой.
Node.val ≤ 1000root=tree_node([20, 10, 30, None, 15])
[10, None, 15, None, 20, None, 30]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 27 тестов на сервере, включая скрытые.