中缀表达式求值
- 题目
给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值
数据可能会出现括号情况,还有可能出现多余括号情况
数据保证不会出现>=2^31的答案
数据可能会出现负数情况 - 输入: (2+2)^(1+1)
- 输出 :16
解题思路:
中缀表达式就是通用的算术或逻辑公式表示方法。
形如 ( 1 + 2 ) − 3 (1+2)-3 (1+2)−3 , ( a + b ) × c − d (a+b)\times c-d (a+b)×c−d 等;
显然用字符串读入后不便于计算结果,我们考虑把它转为后缀表达式。
如:我们平时写 a + b a+b a+b,这是中缀表达式,写成后缀表达式就是: a b + ab+ ab+ ,
( a + b ) ∗ c − ( a + b ) / e (a+b)*c-(a+b)/e (a+b)∗c−(a+b)/e的后缀表达式为: a b + c ∗ a b + e / − ab+c*ab+e/- ab+c