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
Автор Михаил Медведев