Решение
/**
* Example:
* var ti = TreeNode(5)
* var v = ti.`val`
* Definition for a binary tree node.
* class TreeNode(var `val`: Int) {
* var left: TreeNode? = null
* var right: TreeNode? = null
* }
*/
fun invertTree(root: TreeNode?): TreeNode? {
// Если корень пустой, возвращаем null
if (root == null) return null
// Инвертируем левое и правое поддеревья
val left = invertTree(root.left)
val right = invertTree(root.right)
// Меняем местами левое и правое поддеревья
root.left = right
root.right = left
return root // Возвращаем инвертированный корень
}