当前位置: 首页 > news >正文

【栈】150. 逆波兰表达式求值

150. 逆波兰表达式求值

解题思路

  • 初始化栈:

  • 创建一个整数栈用于存储操作数。

  • 遍历表达式数组:

  • 对于数组中的每个元素:

    • 如果是运算符,从栈中弹出两个操作数,并根据运算符进行相应的运算,然后将结果压入栈中。
    • 如果是操作数,则直接将其压入栈中。
    • 执行运算:
  • 当遍历完整个表达式数组后,栈顶元素即为最终的计算结果。

  • 返回结果:

    • 返回栈顶元素作为最终的计算结果。
class Solution {public int evalRPN(String[] tokens) {Stack<Integer> s = new Stack<>();for(int i = 0; i < tokens.length; i++){// 遇到运算符 出栈两个操作数if("+".equals(tokens[i])){s.push(s.pop() + s.pop());// 操作数出栈}else if("-".equals(tokens[i])){int t1= s.pop();int t2 = s.pop();s.push(t2 - t1);}else if("*".equals(tokens[i])){s.push(s.pop() * s.pop());}else if("/".equals(tokens[i])){int t1 = s.pop();int t2 = s.pop();s.push(t2/ t1);}else {s.push(Integer.valueOf(tokens[i]));}}return s.pop();}
}

相关文章:

  • 面向对象编程入门:掌握C++类的基础(1/3)
  • MCU中断控制
  • CSRNET图像修复,DNN
  • http协议与apache
  • STM32_ESP8266 连接阿里云 操作图解
  • CSS中伪元素和伪类的区别和作用?
  • Vue3实现带动画效果的tab栏切换
  • Elasticsearch:创建自定义 ES Rally tracks 的分步指南
  • C++结合Lambda表达式在函数内部实现递归
  • MapboxGL JS⽀持哪些地图样式和交互控件?
  • 「数据结构」哈希表2:实现哈希表
  • MySQL高级特性篇(7)-数据库版本控制与迁移
  • SpringSecurity安全框架
  • yolov5-tracking-xxxsort yolov5融合六种跟踪算法(一)--环境配置GPU版本
  • Unity摄像机跟随
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【node学习】协程
  • CODING 缺陷管理功能正式开始公测
  • CSS 专业技巧
  • fetch 从初识到应用
  • interface和setter,getter
  • Java教程_软件开发基础
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • React Native移动开发实战-3-实现页面间的数据传递
  • SOFAMosn配置模型
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • uni-app项目数字滚动
  • 跨域
  • 删除表内多余的重复数据
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • Prometheus VS InfluxDB
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​MySQL主从复制一致性检测
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #1015 : KMP算法
  • #git 撤消对文件的更改
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (Java数据结构)ArrayList
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (八)Flask之app.route装饰器函数的参数
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (简单) HDU 2612 Find a way,BFS。
  • (离散数学)逻辑连接词
  • (理论篇)httpmoudle和httphandler一览
  • (十六)Flask之蓝图
  • (一)80c52学习之旅-起始篇
  • (转)负载均衡,回话保持,cookie
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .net 验证控件和javaScript的冲突问题
  • .NET 中的轻量级线程安全