这道题我先说两个小细节:最起码我做的时候一开始没注意到,
1.注意语句1和2,减法和除法运算时要注意num1,num2 的顺序,
2.注意语句3,再将tokens元素添加到st中时要转换元素类型,stoi()就是起这个作用。
思路:创建栈st,然后开始遍历tokens,遇到数字就把数字写入st,遇到运算符就把运算符前边两个数字做运算,并且结果输入到st中,最后输出结果就行。
class Solution {
public:
int evalRPN(vector<string>& tokens) {
stack<int> st;
for(int i = 0;i< tokens.size();i++) {
if(tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "/" || tokens[i] == "*") {
int num1 = st.top();