一、什么是栈??
什么是java虚拟机栈???
什么栈???
什么是栈帧???
二、中缀表达式转后缀表达式
什么是前缀表达式???
什么是中缀表达式???
什么是后缀表达式???
后缀表达式有叫逆波兰表达式
代码实现
public int evalRPN(String[] tokens) {
Stack<Integer> stack = new Stack<>();
for(int i = 0;i < tokens.length;i++) {
String val = tokens[i];
if(isOperation(val) == false) {
//如果不是运算符
stack.push(Integer.parseInt(val));
}else {
//到底啥运算符????
int num2 = stack.pop();
int num1 = stack.pop();
switch(val) {
case "+":
stack.push(num1+num2);
break;
case "-":
stack.push(num1-num2);
break;
case "*":
stack.push(num1*num2);
break;
case "/":
stack.push(num1/num2);
break;
}
}
}
return stack.pop();
}