#include <iostream>
#include <vector>
#include <stack>class Solution {
public:int evalRPN(std::vector<std::string>& tokens) {std::stack<long long> stack_number;for (auto it = tokens.begin(); it != tokens.end(); ++it) {std::string s = *it;if (s == "+" || s == "-" || s == "*" || s == "/") {long long num2 = (stack_number.top());stack_number.pop();long long num1 = (stack_number.top());stack_number.pop();char c = s[0];switch (c) {case '+': stack_number.push(num1 + num2); break;case '-': stack_number.push(num1 - num2); break;case '*': stack_number.push(num1 * num2); break;case '/': stack_number.push(num1 / num2); break;}} elsestack_number.push(stoll(s));}int ret = stack_number.top();stack_number.pop();return ret;}
};int main()
{std::vector<std::string> vec {"3", "15", "/"};Solution s;std::cout << s.evalRPN(vec) << std::endl;return 0;
}