/** * 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 * } */ class Solution { fun tree2str(root: TreeNode?): String { if (root == null) { return "" } val value = root.`val`.toString() val left = "(${tree2str(root.left)})" val right = "(${tree2str(root.right)})" if (left == "()" && right == "()") { return value } else if (right == "()") { return "$value$left" } return "$value$left$right" } }