目录


- class Solution {
- public:
- int evalRPN(vector
& 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();
- }
- };

