Решение
/**
* 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 mergeTrees(root1: TreeNode?, root2: TreeNode?): TreeNode? {
if (root1 == null) return root2 // Если первое дерево пустое, возвращаем второе
if (root2 == null) return root1 // Если второе дерево пустое, возвращаем первое
// Объединяем значения корневых узлов
root1.`val` += root2.`val`
// Рекурсивно объединяем левое и правое поддеревья
root1.left = mergeTrees(root1.left, root2.left)
root1.right = mergeTrees(root1.right, root2.right)
return root1 // Возвращаем объединенное дерево
}