-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSolution.java
28 lines (25 loc) · 1.01 KB
/
Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Solution {
public int evalRPN(String[] tokens) {
LinkedList<String> stack = new LinkedList<String>();
String ops = "+-*/";
for (String token : tokens) {
if (ops.indexOf(token) != -1) {
int value2 = Integer.valueOf(stack.pop()),
value1 = Integer.valueOf(stack.pop());
String value = null;
if (token.equals("+"))
value = String.valueOf(value1 + value2);
else if (token.equals("-"))
value = String.valueOf(value1 - value2);
else if (token.equals("*"))
value = String.valueOf(value1 * value2);
else if (token.equals("/"))
value = String.valueOf(value1 / value2);
stack.push(value);
} else {
stack.push(token);
}
}
return stack.size() > 0 ? Integer.valueOf(stack.getFirst()) : 0;
}
}