https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/
思路:搞个栈模拟一下就行。遇到运算符弹出栈顶的两个数计算出结果再压进去即可。
class Solution {
public:
int evalRPN(vector<string>& tokens) {
stack<int> s;
for(auto str:tokens){
if(str[0]>='0'&&str[0]<='9'||str.size()>1)
s.push(stoi(str));
else{
int v1=s.top();
s.pop();
if(str[0]=='+')
s.top()+=v1;
else if(str[0]=='-')
s.top()-=v1;
else if(str[0]=='*')
s.top()*=v1;
else
s.top()/=v1;
}
}
return s.top();
}
};