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

Tree Прямой обход дерева

Tree Прямой обход дерева

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

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

// 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) {}
};

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

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

Пример

prb10057.gif

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

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