题解 | #牛的表达式计算器#
牛的表达式计算器
https://www.nowcoder.com/practice/261e7f01438f414c92f59c0059d3a906
一、知识点:
栈
二、文字分析:
- 创建一个空栈。
- 遍历后缀表达式的每个元素:如果元素是操作数,将其转换为整数并将其压入栈中。如果元素是运算符,从栈中弹出两个操作数,进行相应的运算,并将结果压入栈中。
- 遍历结束后,栈中只剩下一个元素,即为后缀表达式的计算结果。
三、编程语言:
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;
}
}



格力公司福利 246人发布