public class Solution {
public int evalRPN(String[] tokens) {
if (tokens == null || tokens.length == 0) {
return Integer.MAX_VALUE;
}
int result = 0;
Stack<String> stack = new Stack<String>();
for (String s : tokens) {
if (s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")) {
int second = Integer.parseInt(stack.pop());
int first = Integer.parseInt(stack.pop());
if (s.equals("+")) {
stack.push(String.valueOf(first + second));
} else if (s.equals("-")) {
stack.push(String.valueOf(first - second));
} else if (s.equals("*")) {
stack.push(String.valueOf(first * second));
} else if (s.equals("/")) {
stack.push(String.valueOf(first / second));
}
} else {
stack.push(s);
}
}
return Integer.parseInt(stack.pop());
}
}
Evaluate Reverse Polish Notation
最新推荐文章于 2022-03-25 16:52:08 发布