Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are+,-,*,/. Each operand may be an integer or another expression.
计算逆波兰表达式的结果,表达式内容包括数字和有效的运算符(+ - * /)
输入样例—>输出结果
{ "2", "1", "+", "3", "*" } —> 9
{ "4", "13", "5", "/", "+" } —> 6
{ "3", "-4", "+" } —> -1
解题思路:
1.遍历表达式,
2.遇到整形数据就进栈
3.遇到运算符就出栈,并将运算结果入栈(如果栈的大小小于2说明表达式不合法)
4.遍历完成,返回结果(如果栈的大小不等于1说明表达式不合法)
Java代码实现: