一:题目
二:上码
class Solution {
public:
int evalRPN(vector<string>& tokens) {
stack<int> st;
for (int i = 0; i < tokens.size(); i++) {
if (tokens[i] == "+") {
int num1 = st.top(); st.pop();
int num2 = st.top(); st.pop();
int ans = num1 + num2;
st.push(ans);
} else if (tokens[i] == "-") {
int num1 = st.top(); st.pop();
int num2 = st.top(); st.pop();
int ans = num2 - num1;
st.push(ans);
} else if (tokens[i] == "*") {
int num1 = st.top(); st.pop();
int num2 = st.top(); st.pop();
int ans = num1 * num2;
st.push(ans);
} else if (tokens[i] == "/") {
int num1 = st.top(); st.pop();
int num2 = st.top(); st.pop();
int ans = num2 / num1;
st.push(ans);
} else {
st.push(stoi(tokens[i]));
}
}
return st.top();
}
};
|