29 lines
664 B
Kotlin
29 lines
664 B
Kotlin
/**
|
|
* 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"
|
|
}
|
|
}
|