栈对于后缀表达式求值的应用。。。
代码如下(24ms/10.5MB):
int evalRPN(vector<string>& tokens) {
stack<int> result;
for (int i = 0; i < tokens.size(); ++i) {
if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "/" || tokens[i] == "*") {
int n1 = result.top();
result.pop();
int n2 = result.top();
result.pop();
if (tokens[i] == "+") result.push(n1 + n2);
else if (tokens[i] == "-") result.push(n2 - n1);
else if (tokens[i] == "/") result.push(n2 / n1);
else if (tokens[i] == "*") result.push(n2 * n1);
}
else result.push(stoi(tokens[i]));
}
return result.top();
}