Дано бінарне дерево. Потрібно інвертувати його. Для кожної вершини:
лівий син стає правим;
правий син стає лівим.
Визначення дерева:
// Java
class TreeNode
{
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(nullptr), right(nullptr) {}
};Реалізуйте функцію Invert, яка повертає вказівник на інвертоване дерево.
// Java
TreeNode Invert(TreeNode tree)// C++
TreeNode* Invert(TreeNode *tree)
Функція Invert повертає res — вказівник на інвертоване дерево.