150. 逆波兰表达式求值
小于 1 分钟
150. 逆波兰表达式求值中等
解法:栈的思想
class Solution {
public int evalRPN(String[] tokens) {
LinkedList<String> list = new LinkedList<>();
for (String s : tokens) {
if (s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")) {
String num1 = list.pollLast();
String num2 = list.pollLast();
if (s.equals("+")) {
list.add(String.valueOf(Integer.valueOf(num2) + Integer.valueOf(num1)));
} else if (s.equals("-")) {
list.add(String.valueOf(Integer.valueOf(num2) - Integer.valueOf(num1)));
} else if (s.equals("*")) {
list.add(String.valueOf(Integer.valueOf(num2) * Integer.valueOf(num1)));
} else if (s.equals("/")) {
list.add(String.valueOf(Integer.valueOf(num2) / Integer.valueOf(num1)));
}
} else {
list.add(s);
}
}
return Integer.valueOf(list.getLast());
}
}
Powered by Waline v2.15.5