Leetcode 逆波兰表达式求值

class Solution { public int evalRPN(String[] tokens) { Stack<Integer> stack = new Stack<>(); for(String token : tokens) { if(isOperator(token)) { int b = stack.pop(); int a = stack.pop(); stack.push(calculate(a, b, token)); } else { stack.push(Integer.parseInt(token));// 将字符转换为整数 } } return stack.pop(); } private int calculate(int a, int b, String operator) { switch(operator) { case "+": return a + b; case "-": return a - b; case "*": return a * b; case "/": return a / b; default: throw new IllegalArgumentException("Invalid operator: " + operator); } } private boolean isOperator(String token) { return "+-*/".contains(token); } }
上一篇:【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法


下一篇:Django模型关系之一对一