微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将短形式的树字符串括号转换为完整形式

如何解决将短形式的树字符串括号转换为完整形式

我想将树字符串表达式的简短形式(带括号)转换为完整形式。

这是一个示例树表达式:

intput: ((((XX(XXX(XX 
output: ((((XX)(XX))X)(XX))

这棵树看起来像:

this

有人可以提供我完整的代码或至少部分 C++ 代码吗?

其他例子:

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)

同样的方法你可以解决树的其余部分。

注意如果没有子节点,并且节点在父节点的右边加")"(右括号)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。