Easiest C++ O(n) solution


#1

int Solution::evalRPN(vector &A) {
stack s;
for(int i=0;i<A.size();i++){
if(A[i]=="+"){
int a=stoi(s.top());
s.pop();
int b=stoi(s.top());
s.pop();
int c=b+a;
s.push(to_string©);

    }
    else if(A[i]=="-"){
        int a=stoi(s.top());
        s.pop();
        int b=stoi(s.top());
        s.pop();
        int c=b-a;
        s.push(to_string(c));
        
    }
     else if(A[i]=="*"){
        int a=stoi(s.top());
        s.pop();
        int b=stoi(s.top());
        s.pop();
        int c=b*a;
        s.push(to_string(c));
        
    }
    else if(A[i]=="/"){
        int a=stoi(s.top());
        s.pop();
        int b=stoi(s.top());
        s.pop();
        int c=b/a;
        s.push(to_string(c));
        
    }
    else s.push(A[i]);
    
    
}
return stoi(s.top());

}