eolymp
bolt
Try our new interface for solving problems
Məsələlər

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

Реализуйте функцию Invert которая возвращает указатель на инвертированное дерево.

// Java
TreeNode Invert(TreeNode tree)
// C++
TreeNode* Invert(TreeNode *tree)

Пример

prb10114.gif

Функция Invert возвращает res - указатель на инвертированное дерево.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Müəllif Михаил Медведев