逆波兰表达式求值
Posted Alice_yufeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆波兰表达式求值相关的知识,希望对你有一定的参考价值。
class Solution
public int evalRPN(String[] tokens)
Deque<Integer> stack = new LinkedList<Integer>();
int n = tokens.length;
for (int i = 0; i < n; i++)
String token = tokens[i];
if (isNumber(token))
stack.push(Integer.parseInt(token));
else
int num2 = stack.pop();
int num1 = stack.pop();
switch (token)
case "+":
stack.push(num1 + num2);
break;
case "-":
stack.push(num1 - num2);
break;
case "*":
stack.push(num1 * num2);
break;
case "/":
stack.push(num1 / num2);
break;
default:
return stack.pop();
public boolean isNumber(String token)
return !("+".equals(token) || "-".equals(token) || "*".equals(token) || "/".equals(token));
以上是关于逆波兰表达式求值的主要内容,如果未能解决你的问题,请参考以下文章