C++ 将短格式的树字符串(括号)转换为完整格式

C++ 将短格式的树字符串(括号)转换为完整格式,c++,data-structures,tree,binary-tree,expression-trees,C++,Data Structures,Tree,Binary Tree,Expression Trees,我想把一个简短的树字符串表达式(带括号)转换成它的完整形式 这是一个示例树表达式: intput: ((((XX(XXX(XX output: ((((XX)(XX))X)(XX)) 这棵树看起来像: 可以在C++中提供完整代码或至少部分代码吗?< /P> 其他例子: input: (S((SS(S(S(((S(SSSS output: (S((SS)(S(S(((S(SS))S)S))))) 这是一个有序的树遍历过程。 根-->左-->右 如果你愿意,我可以写完整的解决方案,这将需

我想把一个简短的树字符串表达式(带括号)转换成它的完整形式

这是一个示例树表达式:

intput: ((((XX(XXX(XX 
output: ((((XX)(XX))X)(XX))
这棵树看起来像:

可以在C++中提供完整代码或至少部分代码吗?< /P> 其他例子:

input: (S((SS(S(S(((S(SSSS 

output: (S((SS)(S(S(((S(SS))S)S)))))

这是一个有序的树遍历过程。 根-->左-->右

如果你愿意,我可以写完整的解决方案,这将需要一些时间

你能给我一个示例代码吗(我的意思是有没有代码片段)? 或者我必须编写树构建代码然后输出

看看你的代码: 让我们回答字符串=”

步骤01:根-->(,answer=“(”,向左走

步骤02:根-->(,answer=“(”,向左走

步骤03:root-->(answer=“((”),向左走

步骤04:根-->(回答=“(,向左走

步骤05:root-->x answer=“((x,没有左边,请向右执行步骤04

步骤06:根-->x,answer=“((xx,没有左,右,所以添加”)”

因此,答案将是=“((xx)),然后向右执行步骤03

第07步:根-->(,answer=“((xx)(,向左走

步骤08:root-->x answer=“(((xx)(x,步骤07不向左向右

步骤09:root-->x answer=“((xx)(xx,没有左或右,返回,添加”)”

因此答案将是“(xx)(xx)

用同样的方法可以解出树的其余部分


<强>注< <强>如果没有父节点“添加”“(关闭)括号)

“在C++中有什么办法?”大概是,完整代码愉快代码片段,我想把短形式转换成完整形式,只是不在你的代码中:让答案字符串=“”;步骤01:root ->(答案=)(),向左步骤02:root-->(,answer=“((”,向左步骤03:root-->)(answer=“(((”,向左步骤04:root-->)(answer=“(((,向左步骤05:root-->)x answer=“(((x,没有左,向右步骤04:root-->)x,answer=“((xx,没有左,右,所以添加”)”因此答案将是=“(((((xx),然后向右执行步骤03根步骤07:root-->(,answer=“((xx)(,向左执行步骤08:root-->x answer=“((xx)(x,不向左执行步骤07:root-->x answer=“((xx)(xx)(xx,没有左或右,返回,添加”)”,因此答案将是=“((xx)(xx)(xx)@amirking59我在answer中添加了一些步骤。