问题描述
我想将树字符串表达式的简短形式(带括号)转换为完整形式。
这是一个示例树表达式:
intput: ((((XX(XXX(XX
output: ((((XX)(XX))X)(XX))
这棵树看起来像:
其他例子:
input: (S((SS(S(S(((S(SSSS
output: (S((SS)(S(S(((S(SS))S)S)))))
解决方法
这是一个中序树遍历过程。 根目录-->左-->右。
如果你愿意,我可以写出完整的解决方案,这需要一些时间。
你能给我一个示例代码吗(我的意思是有没有给出任何代码片段)? 或者我必须写树构建代码然后输出?
看看你的代码: 让答案字符串 = "";
step 01: root -->(,answer = "(",go left
step02: root --->(,answer = "((",往左走
step 03: root -->( answer = "(((",go left
step04: root --> ( answer = "((((,向左走
step 05: root ---> x answer = "(((((x,没有左边,从step 04往右边走
step 06: root--> x,answer = "(((((xx,没有左,右,所以加")"
所以答案将是 = "(((((xx),and go right of step 03
步骤 07:root -->(,answer = "(((xx)(,向左走
第08步:root--> x answer = "(((((xx)(x,no left go right of step 07)
step 09: root--> x answer = "(((((xx)(xx,没有左或右,返回,添加)")"
所以答案是= "((((xx)(xx)
同样的方法你可以解决树的其余部分。
注意如果没有子节点,并且节点在父节点的右边加")"(右括号)