题解 | #逆波兰表达式求值#
逆波兰表达式求值
https://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tokens string字符串一维数组
* @return int整型
*/
public int evalRPN (String[] tokens) {
// write code here
Stack<Integer> temp = new Stack<>();
for(String a : tokens){
if(a.equals("+") || a.equals("-") || a.equals("*") || a.equals("/")){
int n = temp.pop();
int m = temp.pop();
switch(a){
case "+":
temp.push(m + n);
break;
case "-":
temp.push(m - n);
break;
case "*":
temp.push(m * n);
break;
case "/":
temp.push(m / n);
break;
}
}else{
temp.push(Integer.parseInt(a));
}
}
return temp.pop();
}
}
查看7道真题和解析