题目:
说明:
示例 1:
示例 2:
示例 3:
提示:
逆波兰表达式:
代码:
package jianzhi;
import java.util.Stack;
public class offer_36 {
class Solution {
public int evalRPN(String[] tokens) {
Stack<Integer> stack = new Stack<>();
for (String token : tokens) {
if ("+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token)) {
int i = stack.pop();
int j = stack.pop();
if ("+".equals(token))
stack.push(i + j);
if ("-".equals(token))
stack.push(j - i);
if ("*".equals(token))
stack.push(j * i);
if ("/".equals(token))
stack.push(j / i);
} else {
stack.push(Integer.parseInt(token));
}
}
return stack.pop();
}
}
}
解题思路:
参考链接:
力扣