第六章:栈
面试题36:后缀表达式
题目
参考代码
public int evalRPN(String[] tokens) {
Stack<Integer> stack = new Stack<Integer>();
for (String token : tokens) {
switch (token) {
case "+":
case "-":
case "*":
case "/":
int num1 = stack.pop();
int num2 = stack.pop();
stack.push(calculate(num2, num1, token));
break;
default:
stack.push(Integer.parseInt(token));
}
}
return stack.pop();
}
private int calculate(int num1, int num2, String operator) {
switch (operator) {
case "+":
return num1 + num2;
case "-":
return num1 - num2;
case "*":
return num1 * num2;
case "/":
return num1 / num2;
default:
return 0;
}
}面试题37:小行星碰撞
题目

参考代码
面试题38:每日温度
题目
参考代码
面试题39:直方图最大矩形面积
题目

参考代码
解法一
解法二
解法三
面试题40:矩阵中最大的矩形
题目

参考代码
Last updated