150. Evaluate Reverse Polish Notation

ss
Feb 27, 2021

--

遇到符號就pop最上面的兩個做運算, 做完再塞回去

class Solution {
public:
int evalRPN(vector<string>& tokens) {
stack<string> operators;
stack<int> integers;
for(auto s: tokens){
if(s == "+" || s == "-" || s == "/" || s=="*"){
int num2 = integers.top();
integers.pop();
int num1 = integers.top();
integers.pop();
int cur = 0;
if(s == "+"){
cur = num1 + num2;
}else if (s == "-"){
cur = num1 - num2;
}else if (s == "*"){
cur = num1 * num2;
}else{
cur = num1 / num2;
}
integers.push(cur);
}else{
integers.push(stoi(s));
}
}
return integers.top();

}
};

--

--

ss
ss

No responses yet