stack<int> st; class Solution { public: int evalRPN(vector<string> &tokens) { for(int i = 0; i != tokens.size(); ++i) { if(tokens[i][0] >= '0' && tokens[i][0] <= '9' || tokens[i][1] >= '0' && tokens[i][1] <= '9') { st.push(atoi(tokens[i].c_str())); } else { if(tokens[i] == "+") { int a, b; b = st.top(); st.pop(); a = st.top(); st.pop(); st.push(a + b); } else if(tokens[i] == "-") { int a, b; b = st.top(); st.pop(); a = st.top(); st.pop(); st.push(a - b); } else if(tokens[i] == "*") { int a, b; b = st.top(); st.pop(); a = st.top(); st.pop(); st.push(a * b); } if(tokens[i] == "/") { int a, b; b = st.top(); st.pop(); a = st.top(); st.pop(); st.push(a / b); } } } return st.top(); } };