题目
方法一:栈
class Solution {
public int evalRPN(String[] tokens) {
Deque<Integer> deque= new LinkedList<>();
String rpn = "+-*/";
int sum = 0;
for(int i = 0 ; i < tokens.length ; i++){
if(!rpn.contains(tokens[i])) deque.push(Integer.valueOf(tokens[i]));
else{
sum = eval(tokens[i],deque);
deque.push(sum);
}
}
return deque.peek();
}
public int eval(String s , Deque<Integer> deque){
int first = deque.pop();
int second = deque.pop();
if(s.equals("+")){
return second + first;
}else if(s.equals("-")){
return second - first;
}else if(s.equals("*")){
return second * first;
}else{
return second / first;
}
}
}