[LeetCode]150. 逆波兰表达式求值(java实现)栈、求后缀表达式
1. 题目
2. 读题(需要重点注意的东西)
思路(栈):
3. 解法
---------------------------------------------------解法---------------------------------------------------
class Solution {
public int evalRPN(String[] tokens) {
Stack<Integer> stk = new Stack<>();
for(int i = 0;i < tokens.length;i++){
String s = tokens[i];
if(s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")){
int b = stk.pop();
int a = stk.pop();
if(s.equals("+")) a += b;
else if(s.equals("-")) a -= b;
else if(s.equals("*")) a *= b;
else a /= b;
stk.push(a);
}
else stk.push(Integer.parseInt(s));
}
return stk.pop();
}
}
可能存在的问题: