leetcode中等150逆波兰表达式求值
Posted qq_40707462
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等150逆波兰表达式求值相关的知识,希望对你有一定的参考价值。
思路:栈
遇到运算符,就去栈里找最上面两个数运算一下,再放回栈里
class Solution {
public int evalRPN(String[] tokens) {
Stack<Integer>stack=new Stack<>();
for(String token:tokens){
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));
}
}
以上是关于leetcode中等150逆波兰表达式求值的主要内容,如果未能解决你的问题,请参考以下文章