话不多说,就是给你一串后缀表达式让你求结果 用栈即可实现
class Solution {
public int evalRPN(String[] tokens) {
Stack<Integer> stack=new Stack<Integer>();
Set<String> set=new HashSet<>();
set.add("+");set.add("-");set.add("*");set.add("/");
for(int i=0;i<tokens.length;i++) {
if(set.contains(tokens[i])==false) {
stack.push(Integer.parseInt(tokens[i]));
}//if end 假如为数字
else {
int num1=stack.pop();
int num2=stack.pop();
if(tokens[i].equals("+")) {
stack.push(num1+num2);
}
if(tokens[i].equals("-")) {
stack.push(num2-num1);
}
if(tokens[i].equals("*")) {
stack.push(num1*num2);
}
if(tokens[i].equals("/")) {
stack.push(num2/num1);
}
}//else end 假如为运算
}
return stack.pop();
}
}