# Include <iostream>
# Include <cstdlib>
# Include <string>
# Include <algorithm>
# Include <vector>
# Include <stack>
# Include <queue>
Using namespace STD;
Int evalrpn (vector <string> & tokens ){
Stack <int> value;
Int I = 0;
For (I = 0; I <tokens. Size (); I ++ ){
If (tokens [I] = "+" | tokens [I] = "-" | tokens [I] = "*" | tokens [I] = = "/") {
String T = tokens [I];
Int A = value. Top ();
Value. Pop ();
Int B = value. Top ();
Value. Pop ();
If (t = "+ "){
Value. Push (B + );
}
If (t = "-"){
Value. Push (B-);
}
If (t = "*"){
Value. Push (B * );
}
If (t = "/"){
Value. Push (B/);
}
} Else {
Value. Push (atoi (tokens [I]. c_str ()));
}
}
Return Value. Top ();
}
Int main (INT argc, char ** argv ){
Vector <string> S;
S. push_back ("4 ");
S. push_back ("13 ");
S. push_back ("5 ");
S. push_back ("/");
S. push_back ("+ ");
Cout <evalrpn (s );
Return 0;
}
Leetcode evaluate reverse Polish notation