力扣面试150 逆波兰表达式求值 栈 模拟栈

Problem: 150. 逆波兰表达式求值

👨‍🏫 参考题解

Java 复制代码
class Solution {
	//纯数组模拟栈实现(推荐)   3 ms	36 MB
	public static int evalRPN(String[] tokens) {
		int[] numStack = new int[tokens.length / 2 + 1];
		int index = 0;
		for (String s : tokens) {
			switch (s) {
			case "+":
				numStack[index - 2] += numStack[--index];
				break;
			case "-":
				numStack[index - 2] -= numStack[--index];
				break;
			case "*":
				numStack[index - 2] *= numStack[--index];
				break;
			case "/":
				numStack[index - 2] /= numStack[--index];
				break;
			default:
				// numStack[index++] = Integer.valueOf(s);
				//valueOf改为parseInt,减少自动拆箱装箱操作
				numStack[index++] = Integer.parseInt(s);
				break;
			}
		}
		return numStack[0];
	}
}
相关推荐
speop2 分钟前
hell-gpu| TASK01-2
linux·运维·算法
RisunJan28 分钟前
产品经理面试知识点梳理
面试·职场和发展·产品经理
Navigator_Z1 小时前
LeetCode //C - 1223. Dice Roll Simulation
c语言·算法·leetcode
171320330计算机毕设编程1 小时前
2027计算机毕设五大方向对比&选题推荐
java·ide·python·算法·django·php·推荐算法
Tisfy1 小时前
LeetCode 2058.找出临界点之间的最小和最大距离:遍历+遇到极值则更新(这种题谁空间复杂度不是O(1)啊)
linux·数据库·leetcode·链表·题解·模拟·遍历
万物智能1 小时前
设备树DTS-【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
后端·算法
代码不停1 小时前
子数组问题
java·算法
小欣加油1 小时前
Leetcode2058 找出临界点之间的最小和最大距离
数据结构·c++·算法·leetcode·职场和发展
华华哥20221 小时前
《模型不玄学》第25章 双头模型:共享底座 + 两个分支
算法