37 lines
974 B
Swift
37 lines
974 B
Swift
/**
|
|
* Definition for a binary tree node.
|
|
* public class TreeNode {
|
|
* public var val: Int
|
|
* public var left: TreeNode?
|
|
* public var right: TreeNode?
|
|
* public init() { self.val = 0; self.left = nil; self.right = nil; }
|
|
* public init(_ val: Int) { self.val = val; self.left = nil; self.right = nil; }
|
|
* public init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
|
|
* self.val = val
|
|
* self.left = left
|
|
* self.right = right
|
|
* }
|
|
* }
|
|
*/
|
|
class Solution {
|
|
func tree2str(_ root: TreeNode?) -> String {
|
|
if let root = root {
|
|
let left = tree2str(root.left)
|
|
let right = tree2str(root.right)
|
|
|
|
var l = ""
|
|
if left != "" || right != "" {
|
|
l = "(\(left))"
|
|
}
|
|
|
|
var r = ""
|
|
if right != "" {
|
|
r = "(\(right))"
|
|
}
|
|
|
|
return "\(root.val)\(l)\(r)"
|
|
}
|
|
|
|
return ""
|
|
}
|
|
}
|