新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/25 20:23:12来源:尧图网络
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 语义是安全的。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

原生PHP论坛开发实战:从登录到部署的完整安全指南 2026/9/25 20:58:20

原生PHP论坛开发实战:从登录到部署的完整安全指南

简介:这是一套基于PHP构建的简单Web论坛源码包,面向PHP初学者与教学场景,以论坛这一交互性较强的应用为载体,演示动态网站的开发思路。压缩包共28个文件、约266KB,包含10个PHP核心脚本、11个GIF界面元素、3张JPG设计图…

阅读更多 →
PHP在线生成查询产品防伪证书系统:防伪码生成与查询链路详解 2026/9/25 20:58:20

PHP在线生成查询产品防伪证书系统:防伪码生成与查询链路详解

简介:PHP在线生成查询产品防伪证书系统源码.zip是一套面向企业及开发者的防伪证书生成与查询解决方案,适用于搭建产品防伪验证平台。源码基于PHPMYSQL开发,需使用PHP5.1~5.3环境,压缩包内自带90套授权证书模板及PSD公章源文件&…

阅读更多 →
AVFoundation视频开发核心:CMTime坐标系与AVPlayerItem状态机 2026/9/25 20:58:13

AVFoundation视频开发核心:CMTime坐标系与AVPlayerItem状态机

1. 为什么AVFoundation不是“另一个播放器SDK”,而是iOS/macOS视频能力的底层操作系统很多人第一次接触AVFoundation,是在Xcode里拖一个AVPlayerViewController进Storyboard,调用几行代码就播出了MP4——然后理所当然地认为:“哦&…

阅读更多 →
UE5 GeometryCore 实战:FDynamicMesh3 动态网格操作与性能优化指南 2026/9/25 20:58:13

UE5 GeometryCore 实战:FDynamicMesh3 动态网格操作与性能优化指南

1. 从“能跑就行”到“几何可控”:GeometryCore 到底在解决什么问题如果你在 UE5 里做过程序化建模、动态切割、地形雕刻或者运行时网格变形,大概率经历过这样的场景:蓝图里拖了一堆 ProceduralMeshComponent 节点,跑起来帧率直接…

阅读更多 →
【docker 四】docker下安装tomcat并且部署项目(详细) 2026/9/25 20:58:06

【docker 四】docker下安装tomcat并且部署项目(详细)

前言: 上一篇博客简单的介绍了docker的基本命令,现在通过部分命令,咱们在docker下的tomcat进行牛刀小式一、测通tomcat 1、拉取镜像tomcat:8 docker pull tomcat:8 AI写代码 12、运行tomcat 2.1 输入命令,运行tomcat docker run -…

阅读更多 →
基于微信小程序的高校设备管理系统设计与实现 2026/9/25 20:58:06

基于微信小程序的高校设备管理系统设计与实现

高校设备管理现状与信息化需求 随着高等教育事业的快速发展,高校实验室、教学楼、科研中心等场所对各类教学与科研设备的需求日益增长。这些设备涵盖计算机、实验仪器、多媒体教学系统、精密测量工具等多种类型,其数量庞大、分布广泛、使用频率高&#x…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉