1.606. 根据二叉树创建字符串 - 力扣(LeetCode)
2.首先创建一个用于返回的string,如果根节点为空则直接返回这个字符串,然后将根节点的值转换为字符串加到返回的string末尾,如果左子树不为空或者左子树为空huo但右子树存在,则插入一个括号并递归,如果右子树存在则插入一个括号并递归,注意此广义表只有节点都不存在时省略全部括号,或者只存在左节点可以省略一个括号
class Solution {
public:
string tree2str(TreeNode* root) {
string str;
if(root==nullptr)
{
return str;
}
str+=to_string(root->val);
if(root->left!=nullptr||root->right)
{str+='(';
str+=tree2str(root->left);
str+=')';
}
if(root->right)
{str+='(';
str+=tree2str(root->right);
str+=')';
}
return str;
}
};