逆波兰表达式求值
作者:互联网
题目来源
题目描述
根据 逆波兰表示法,求表达式的值。
有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
说明:
整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
题目解答
class Solution {
public int evalRPN(String[] tokens) {
int[] numStack=new int[tokens.length/2+1];
int index=0;
for(String s:tokens){
switch(s){
case"+":
numStack[index-2]+=numStack[--index];
break;
case"-":
numStack[index-2]-=numStack[--index];
break;
case"*":
numStack[index-2]*=numStack[--index];
break;
case"/":
numStack[index-2]/=numStack[--index];
break;
default:
numStack[index++]=Integer.parseInt(s);
break;
}
}
return numStack[0];
}
}
标签:numStack,index,int,break,case,波兰,求值,表达式 来源: https://blog.csdn.net/qq_44929652/article/details/113103408