一、知识点:
栈
二、文字分析:
- 创建一个空栈。
- 遍历后缀表达式的每个元素:如果元素是操作数,将其转换为整数并将其压入栈中。如果元素是运算符,从栈中弹出两个操作数,进行相应的运算,并将结果压入栈中。
- 遍历结束后,栈中只剩下一个元素,即为后缀表达式的计算结果。
三、编程语言:
java
四、正确代码:
import java.util.*; public class Solution { public int calculatePostfix(String[] tokens) { Stack<Integer> stack = new Stack<>(); for (String token : tokens) { if (token.equals("+") || token.equals("-") || token.equals("*") || token.equals("/")) { int operand2 = stack.pop(); int operand1 = stack.pop(); stack.push(compute(token, operand1, operand2)); } else { stack.push(Integer.parseInt(token)); } } return stack.pop(); } private int compute(String operator, int operand1, int operand2) { switch (operator) { case "+": return operand1 + operand2; case "-": return operand1 - operand2; case "*": return operand1 * operand2; case "/": return operand1 / operand2; } return 0; } }