#P1562. 中缀表达式转后缀表达式

中缀表达式转后缀表达式

题目描述

输入一个中缀表达式,编程输出其后缀表达式,要求输出的后缀表达式的运算次序与输入的中缀表达式的运算次序相一致。

为简单起见,假设输入的中缀表达式由 +(加)、-(减)、*(乘)、/(除)四个运算符以及左右圆括号和英文字母组成,其中算术运算符遵守先乘除后加减的运算规则。

提示:遇字母直接输出;遇左括号入栈;遇右括号把栈中与之匹配的左括号之间的运算符全部出栈输出;遇运算符则按优先级处理——栈顶符号优先级不低于当前符号时,先让栈顶出栈。遍历结束后把栈中剩余符号依次出栈输出。

输入格式

一行,为中缀表达式。长度不超过 200200 个字符,且都是正确的(没有语法错误);凡出现括号,其内部一定有表达式,即内部至少有一个运算符。

输出格式

只有一行,为转换后的后缀表达式。

样例

(((a+b)*f)-(i/j))-a-(c*(m/n)+b)
ab+f*ij/-a-cmn/*b+-

说明/提示

运算符只有 + - * / 四种,运算数为小写英文字母;乘除优先级相同且高于加减。