DeepSeek LeetCode 150. 逆波兰表达式求值 Java实现

发布时间:2026/9/25 20:23:28

DeepSeek    LeetCode 150. 逆波兰表达式求值 Java实现 思路逆波兰表达式后缀表达式的特点是运算符在操作数之后且不需要括号。用栈求解最自然· 遇到数字入栈· 遇到运算符弹出栈顶两个元素做运算把结果压回栈遍历结束后栈里剩下的唯一元素就是答案。代码classSolution{publicintevalRPN(String[]tokens){DequeIntegerstacknewArrayDeque();for(Stringt:tokens){switch(t){case-stack.push(stack.pop()stack.pop());case*-stack.push(stack.pop()*stack.pop());case--{intbstack.pop();intastack.pop();stack.push(a-b);}case/-{intbstack.pop();intastack.pop();stack.push(a/b);}default-stack.push(Integer.parseInt(t));}}returnstack.pop();}}用数组手动模拟栈更快避免装箱classSolution{publicintevalRPN(String[]tokens){int[]stacknewint[tokens.length];inttop-1;for(Stringt:tokens){switch(t){case-stack[--top]stack[top1];// 等价写法见下方说明case--{intbstack[top--];stack[top]-b;}case*-{intbstack[top--];stack[top]*b;}case/-{intbstack[top--];stack[top]/b;}default-stack[top]Integer.parseInt(t);}}returnstack[top];}}如果觉得上面 的写法绕可以直接用最直白的版本intbstack[top--];intastack[top--];stack[top]ab;关键点减法/除法有顺序栈顶是右操作数 b次栈顶是左操作数 a必须算 a - b、a / b写反会得到错误答案或被 0 除。除法向零截断题目要求 6 / -132 0Java 的整数 / 本身就是向零截断直接使用即可不需要额外处理。Java 求值顺序stack.pop() stack.pop() 中 Java 保证从左到右求值先弹出的是右操作数加减乘除这里恰好可交换对 、* 无影响但为可读性建议还是显式写。示例走一遍tokens [“2”,“1”,“”,“3”,“*”]token 操作 栈底→顶2 入栈 [2]1 入栈 [2, 1]123 [3]3 入栈 [3, 3]3*39 [9]结果 9即 (21)*3。复杂度· 时间O(n)每个 token 处理一次· 空间O(n)栈最多存 n 个元素易错点· 忘记负数“-11” 用 Integer.parseInt 能正确解析不要自己手动按字符判断符号。· 用 switch 判断字符串时不要用 这里的 switch 用的是 equals 语义是安全的。
延伸阅读

更多相关文章

2026/9/25 20:18:28

readme生成器

生成器这是一个npm命令行工具,这个工具的作用是用来生成文件的。安装npm install --global yo generator-standard-readme使用命令行输入$ yo standard-readme在后面会有许多问题被提出来, 而后生成一个文件。所有的相关问题列举如下所示:What do you want to name your module…

2026/9/25 21:18:31

Kettle循环取结果集传参:跨转换数据管道实战

简介:这份资源面向使用Kettle(Pentaho Data Integration)进行数据集成开发的工程师,聚焦「循环获取结果集并传入转换」这一典型场景,帮助解决跨转换传递变量、按行迭代处理数据的实际问题。资源包共1个文件&#xff0c…

2026/9/25 21:18:30

用Vibeware把MCP接入MiXCopilot:给AI配一个专属记忆模块

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 21:18:30

Atlas 300V 24G实战:昇腾NPU上部署YOLO目标检测全流程指南

“Atlas”这名字在深度学习部署圈子里,其实是个挺容易让人犯迷糊的词。有朋友以为是数据库,有朋友以为是漫画里的机器人,还有人第一反应是那个健身器材地垫。但只要你最近在搞目标检测、想在边缘设备或者服务器上跑 YOLO 推理,又恰…

2026/9/25 21:13:30

链表从入门到精通:单链表操作、逆序与面试考点全解析

聊链表之前,我先说个观察:数据结构课上,链表几乎是所有人的第一道坎,但也是性价比最高的一道坎。学会了链表,指针、内存、递归这些概念会跟着通掉一半;学不会,后面二叉树、图、哈希表全都会受影…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑