class Solution {
public:
int stringtoint(string s)
{
int ret=0;
for(int i=isdigit(s[0])?0:1;i<s.size();i++)
{
ret=ret*10+s[i]-'0';
}
return isdigit(s[0])?ret:-ret;
}
int evalRPN(vector<string> &tokens) {
stack<int> st;
for(int i=0;i<tokens.size();i++)
{
if(isdigit(tokens[i][0])||isdigit(tokens[i][1]))
{
st.push(stringtoint(tokens[i]));
}
else
{
int a=st.top();
st.pop();
int b=st.top();
st.pop();
if(tokens[i]=="+")
st.push(b+a);
if(tokens[i]=="-")
st.push(b-a);
if(tokens[i]=="*")
st.push(b*a);
if(tokens[i]=="/")
st.push(b/a);
}
}
return st.top();
}
};
public:
int stringtoint(string s)
{
int ret=0;
for(int i=isdigit(s[0])?0:1;i<s.size();i++)
{
ret=ret*10+s[i]-'0';
}
return isdigit(s[0])?ret:-ret;
}
int evalRPN(vector<string> &tokens) {
stack<int> st;
for(int i=0;i<tokens.size();i++)
{
if(isdigit(tokens[i][0])||isdigit(tokens[i][1]))
{
st.push(stringtoint(tokens[i]));
}
else
{
int a=st.top();
st.pop();
int b=st.top();
st.pop();
if(tokens[i]=="+")
st.push(b+a);
if(tokens[i]=="-")
st.push(b-a);
if(tokens[i]=="*")
st.push(b*a);
if(tokens[i]=="/")
st.push(b/a);
}
}
return st.top();
}
};