606.根据二叉树创建字符串
链接:606.根据二叉树创建字符串
难度:Medium
标签:树、深度优先搜索、字符串、二叉树
简介:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。
题解 1 - cpp
- 编辑时间:2022-03-15
- 执行用时:32ms
- 内存消耗:64.2MB
- 编程语言:cpp
- 解法介绍:遍历后组装。
class Solution {
   public:
    string tree2str(TreeNode* root) {
        if (!root) return "";
        string l = "(" + tree2str(root->left) + ")",
               r = "(" + tree2str(root->right) + ")";
        return to_string(root->val) + (l == "()" && r == "()"   ? ""
                                       : l != "()" && r == "()" ? l
                                                                : l + r);
    }
};