150. 逆波兰表达式求值
Posted 潜行前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了150. 逆波兰表达式求值相关的知识,希望对你有一定的参考价值。
- 逆波兰表达式求值
根据 逆波兰表示法,求表达式的值。
有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
注意 两个整数之间的除法只保留整数部分。
可以保证给定的逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。
示例 1:
输入:tokens = [“2”,“1”,“+”,“3”,“*”]
输出:9
解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9
关键点
- 栈
class Solution
public int evalRPN(String[] tokens)
LinkedList<Integer> pq = new LinkedList<>();
int res; // 两个整数之间的除法只保留整数部分
for( int i=0;i<tokens.length;i++)
int tmp;
if("+".equals(tokens[i]))
tmp = pq.removeLast() + pq.removeLast();
else if("-".equals( tokens[i]) )
tmp = pq.removeLast();
tmp = pq.removeLast() - tmp ;
else if("*".equals( tokens[i]) )
tmp = pq.removeLast() * pq.removeLast();
else if("/".equals( tokens[i]) )
tmp = pq.removeLast();
tmp = pq.removeLast() / tmp ;
else
tmp = Integer.parseInt(tokens[i]);
pq.add(tmp);
return pq.poll();
2022深度学习开发者峰会
5月20日13:00让我们相聚云端,共襄盛会!
以上是关于150. 逆波兰表达式求值的主要内容,如果未能解决你的问题,请参考以下文章