一.题目描述
根据 逆波兰表示法,求表达式的值。
有效的算符包括 +
、-
、*
、/
。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/
二.代码
public int evalRPN(String[] tokens) {
int[] array = new int[tokens.length];
int i = 0;
for (String token : tokens) {
if ("+".equals(token)) {
Integer num2 = array[--i];
Integer num1 = array[--i];
array[i++] = num1 + num2;
} else if ("-".equals(token)) {
Integer num2 = array[--i];
Integer num1 = array[--i];
array[i++] = num1 - num2;
} else if ("*".equals(token)) {
Integer num2 = array[--i];
Integer num1 = array[--i];
array[i++] = num1 * num2;
} else if ("/".equals(token)) {
Integer num2 = array[--i];
Integer num1 = array[--i];
array[i++] = num1 / num2;
} else {
array[i++] = Integer.parseInt(token);
}
}
return array[0];
}