栈和队列|150. 逆波兰表达式求值

【栈和队列|150. 逆波兰表达式求值】要求:1,2,+类似的表达式计算
思路:栈

class Solution { public: int evalRPN(vector>& tokens) { stack stk; // 牛一个栈 for (string& token : tokens) { // 遍历tokens if (token == "+" || token == "-" || token == "*" || token == "/") { // 若遇到运算符则启动出栈 int num1 = stk.top(); stk.pop(); int num2 = stk.top(); stk.pop(); // 接连弹出两个数 并按照规则运算后塞回去 if (token == "+") stk.push(num1 + num2); if (token == "-") stk.push(num2 - num1); if (token == "*") stk.push(num1 * num2); if (token == "/") stk.push(num2 / num1); } else {stk.push(stoi(token)); } // 如果是正常数的话转化成INT(标准库stoi函数)后塞进去 } return stk.top(); } };

    推荐阅读