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)
Пример
Функция Invert возвращает res - указатель на инвертированное дерево.