一、知识点:

二、文字分析:

  1. 创建一个空栈。
  2. 遍历后缀表达式的每个元素:如果元素是操作数,将其转换为整数并将其压入栈中。如果元素是运算符,从栈中弹出两个操作数,进行相应的运算,并将结果压入栈中。
  3. 遍历结束后,栈中只剩下一个元素,即为后缀表达式的计算结果。

三、编程语言:

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;
    }
}