150 逆波兰表达式求值
给你一个字符串数组 tokens,表示一个根据 逆波兰表示法 表示的算术表达式。
请你计算该表达式。返回一个表示表达式值的整数。
注意:
- 有效的算符为
'+'、'-'、'*'和'/'。 - 每个操作数(运算对象)都可以是一个整数或者另一个表达式。
- 两个整数之间的除法总是 向零截断。
- 表达式中不含除零运算。
- 输入是一个根据逆波兰表示法表示的算术表达式。
- 答案及所有中间计算结果可以用 32 位 整数表示。
后缀表达式求值是前后中里面最简单的。
class Solution {
public:
stack<int> data;
int evalRPN(vector<string>& tokens) {
int ans;
int source1, source2;
for (string str : tokens) {
if (str == "+" || str == "-" || str == "*" || str == "/") {
source1 = data.top(); data.pop();
source2 = data.top(); data.pop();
if(str == "+") data.push(source1 + source2);
if(str == "-") data.push(source2 - source1);
if(str == "*") data.push(source1 * source2);
if(str == "/") data.push(source2 / source1);
} {
data.((str));
}
}
data.();
}
};


