class Solution { public: void setOperand(stack& s, int& a, int& b) { a=s.top(); s.pop(); b=s.top(); s.pop(); } int evalRPN(vector &tokens) { stack s; int a,b; for(vector::iterator it=tokens.begin();it!=tokens.end();it++) { if(*it=="+") { setOperand(s, a, b); s.push(b+a); } else if(*it=="-") { setOperand(s, a, b); s.push(b-a); } else if(*it=="*") { setOperand(s, a, b); s.push(b*a); } else if(*it=="/") { setOperand(s, a, b); s.push(b/a); } else { s.push(atoi(it->c_str())); } } return s.top(); } };