将给定的表达式树(二叉链表存储)转换为等价的中缀表达式(递归)

3765. 表达式树
可以拿这题验证自己的代码对不对
ps:这里不是这题的答案,参照代码思路写即可
void BtreeToe(Btree *root)
{
BtreeToExp(root,1); //根的高度为1
}
void BtreeToExp(Btree *root,int dep)
{
if(root==NULL) return ;//如果是空结点 返回
else if(!root->left && !root->right) cout<<root->data;//如果是叶节点 直接输出操作数
else if{
if(dep>1) cout<<"(";//如果有子表达式 输出左括号
BtreeToExp(root->left,dep+1);//进左子树 记得修改dep
cout<<root->data;
BtreeToExp(root->right,dep+1);//进右子树 记得修改dep
if(dep>1) cout<<")";//有子表达式 输出右括号
}
}
posted on 2024-11-09 22:22 swj2529411658 阅读(72) 评论(0) 收藏 举报
浙公网安备 33010602011771号