1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
   | class Solution { public:     int evalRPN(vector<string>& tokens) {         stack<int> stk;         int ans = 0;         for (string& token : tokens) {             if (token == "+" || token == "-" || token == "*" || token == "/") {                 int num2 = stk.top(); stk.pop();                 int num1 = stk.top(); stk.pop();                 switch (token[0]) {                     case '+':                         stk.push(num1 + num2);                         break;                     case '-':                         stk.push(num1 - num2);                         break;                     case '*':                         stk.push(num1 * num2);                         break;                     case '/':                         stk.push(num1 / num2);                         break;                 }             } else {                 stk.push(atoi(token.c_str()));             }         }         return stk.top();     } };
  |