根据逆波兰表达式法,求表达式的值。
有效的运算符包括+,-,*,/。每个运算对象可以是整数也可以是另一个逆波兰表达式。
整数除法只保留整数部分。
给定的逆波兰表达式总是有效的。
class Solution
{
public:
int evealRPN(vector<string>& tokens)
{
vector<string>::iterator i;
deque<int> s;
int fir,sec;
for(i=tokens.begin();i!=end();i++)
{
if(*i=="+" || *i=="-" || *i=="*" || *i=="/")
{
sec=s.front();
s.pop_front();
fir=s.front();
s.pop_front();
if(*i=="+") s.push_front(fir+sec);
else if(*i=="-") s.push_front(fir-sec);
else if(*i=="*") s.push_front(fir*sec);
else if(*i=="/") s.push_front(fir/sec);
}
else
{
s.push_front(*i);
}
}
return s.front();
}
};