eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Tree Центрированный обход дерева

Tree Центрированный обход дерева

Лимит времени 1 секунда
Лимит использования памяти 128 MiB

Реализуйте центрированный обход дерева. При центрированном обходе сначала посещается левое поддерево, потом корень, потом правое поддерево.

Определение дерева:

// Java
class TreeNode
{
public:
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x) {
    val = x;
    left = NULL; 
    right = NULL;
};

// C++
class TreeNode
{
public:
  int val;
  TreeNode *left;
  TreeNode *right;
  TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

Реализуйте функцию InOrder которая выводит в одной строке вершины дерева в порядке центрированного обхода. При выводе вершины следует разделять одним пробелом.

// Java
void InOrder(TreeNode tree)
// C++
void InOrder(TreeNode *tree)

Пример

prb10057.gif

При центрированном обходе порядок вывода вершин будет следующим: 1 2 3 4 9 10 16.

Автор Михаил Медведев