diff --git a/problems/0150.逆波兰表达式求值.md b/problems/0150.逆波兰表达式求值.md index 13b2ba46..376948cf 100644 --- a/problems/0150.逆波兰表达式求值.md +++ b/problems/0150.逆波兰表达式求值.md @@ -89,26 +89,29 @@ C++代码如下: class Solution { public: int evalRPN(vector& tokens) { - stack st; + // 力扣修改了后台测试数据,需要用longlong + stack st; for (int i = 0; i < tokens.size(); i++) { if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/") { - int num1 = st.top(); + long long num1 = st.top(); st.pop(); - int num2 = st.top(); + long long num2 = st.top(); st.pop(); if (tokens[i] == "+") st.push(num2 + num1); if (tokens[i] == "-") st.push(num2 - num1); if (tokens[i] == "*") st.push((long)num2 * (long)num1); //力扣改了后台测试数据 if (tokens[i] == "/") st.push(num2 / num1); } else { - st.push(stoi(tokens[i])); + st.push(stoll(tokens[i])); } } + int result = st.top(); st.pop(); // 把栈里最后一个元素弹出(其实不弹出也没事) return result; } }; + ``` ## 题外话