Задачи
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) {}
};
Реализуйте функцию InOrder которая выводит в одной строке вершины дерева в порядке центрированного обхода. При выводе вершины следует разделять одним пробелом.
// Java
void InOrder(TreeNode tree)
// C++
void InOrder(TreeNode *tree)
Пример
При центрированном обходе порядок вывода вершин будет следующим: 1 2 3 4 9 10 16.