Thursday, January 31, 2019
150. Evaluate Reverse Polish Notation
Version #1 Stack
15.27 %
class Solution {
public int evalRPN(String[] tokens) {
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < tokens.length; i++) {
String curr = tokens[i];
if (curr.equals("+") || curr.equals("-") || curr.equals("*") || curr.equals("/")) {
int operand2 = stack.pop();
int operand1 = stack.pop();
int res = 0;
switch (curr) {
case "+":
res = operand1 + operand2;
break;
case "-":
res = operand1 - operand2;
break;
case "*":
res = operand1 * operand2;
break;
case "/":
res = operand1 / operand2;
}
stack.push(res);
} else {
stack.push(Integer.valueOf(curr));
}
}
return stack.pop();
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment