Stack
应用场景
使用技巧
经典题目
public int evalRPN(String[] tokens) {
Deque<Integer> numbers = new LinkedList<>();
for (String cur: tokens) {
if (cur.equals("+")) {
int first = numbers.pollLast();
int second = numbers.pollLast();
numbers.add(first + second);
} else if (cur.equals("-")) {
int first = numbers.pollLast();
int second = numbers.pollLast();
numbers.add(second - first);
} else if (cur.equals("*")) {
int first = numbers.pollLast();
int second = numbers.pollLast();
numbers.add(first * second);
} else if (cur.equals("/")) {
int first = numbers.pollLast();
int second = numbers.pollLast();
numbers.add(second / first);
} else {
numbers.add(Integer.valueOf(cur));
}
}
return numbers.pollLast();
}Last updated