#include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
#include<string>
using namespace std;
//class Solution {
//public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tokens string字符串vector
* @return int整型
*/
int evalRPN(vector<string>& tokens) {
// write code here
stack<int> stk;
for (int i = 0; i < tokens.size(); i++) {
char ch;
bool flag = 0;
if (tokens[i] == "*" || tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "/") {
int a = stk.top();
stk.pop();
int b = stk.top();
stk.pop();
if (tokens[i] == "*")
stk.push(a * b);
else if (tokens[i] == "+")
stk.push(a + b);
else if (tokens[i] == "-")
stk.push(b - a);
else
stk.push(b / a);
}
else {
int k = stoi(tokens[i]);
stk.push(k);
}
}
return stk.top();
}
int main() {
vector<string> tokens = { "2","1","+","4","*" };
int result = evalRPN(tokens);
cout << result;
return 1;
}
//};