目录
一、题目
二、分析+代码
三、中缀表达式转后缀表达式
一、题目
150. 逆波兰表达式求值 - 力扣(LeetCode)
二、分析+代码
class Solution {
public:int evalRPN(vector<string>& tokens) {stack<int>s;for(auto ch:tokens){if(ch!="+"&&ch!="-"&&ch!="*"&&ch!="/")//ch不是运算符{s.push(stoi(ch));//将ch转换成整数类型,然后进栈}else//ch是运算符的时候{//拿出栈中的两个数据int right = s.top();s.pop();int left = s.top();s.pop();int ret = 0;switch(ch[0])//ch[0]表示取ch中的第一个字符,例如ch = "+",那么ch[0] = ‘+’{case '+':ret = right + left;s.push(ret);break;case '-':ret = left - right;s.push(ret);break;case '*':ret = left * right;s.push(ret);break;case '/':ret = left / right;s.push(ret);break;}}}return s.top();}
};