leetcode-606. 根据二叉树创建字符串

606. 根据二叉树创建字符串 - 力扣(Leetcode)

前序遍历

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func tree2str(root *TreeNode) string {
    if root == nil {
        return ""
    }

    left, right := "", ""
    if root.Left != nil {
        left = tree2str(root.Left)
    }
    if root.Right != nil {
        right = tree2str(root.Right)
    }

    ans := fmt.Sprintf("%d", root.Val)
    if left != "" {
        ans += "(" + left + ")"
    }
    if right != "" {
        if left == "" {
            ans += "()"
        }
        ans += "(" + right + ")"
    }
    // fmt.Println(ans)

    return ans
}
posted @ 2023-01-02 14:01  吴丹阳-V  阅读(9)  评论(0编辑  收藏  举报