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


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)    收藏  举报

导航