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

逆波兰表达式求值(中等)

可以构建一个int类型的栈,在遍历token数组的时候,如果遇到数字,就把字符串类型的数字转化为int类型,放入s栈中,如果遇到加减乘除符号,就把栈顶的两个元素取出来,进行相应的运算操作,然后把计算结果压入栈中。

最后的答案就是栈顶元素,全部处理完后栈中只有一个元素。

class Solution {public int evalRPN(String[] tokens) {Stack<Integer> stack=new Stack<>();for(int i=0;i<tokens.length;i++){if(tokens[i].equals("+")){int x=stack.pop();int y=stack.pop();int z=x+y;stack.push(z);}else if(tokens[i].equals("-")){int x=stack.pop();int y=stack.pop();int z=y-x;stack.push(z);}else if(tokens[i].equals("*")){int x=stack.pop();int y=stack.pop();int z=x*y;stack.push(z);}else if(tokens[i].equals("/")){int x=stack.pop();int y=stack.pop();int z=y/x;stack.push(z);}else{stack.push(Integer.valueOf(tokens[i]));}}return stack.pop();}
}

相关文章:

  • 第20章 Python数据类型详解:字典进阶
  • K8S Svc Port-forward 访问方式
  • 计算机网络八股文--day1
  • [ctfshow web入门] web70
  • 【计算机视觉】OpenCV实战项目:Athlete-Pose-Detection 运动员姿态检测系统:基于OpenCV的实时运动分析技术
  • 每天五分钟机器学习:拉格朗日对偶函数
  • 串口屏调试 1.0
  • 深入解析Vue3中ref与reactive的区别及源码实现
  • 居然智家亮相全零售AI火花大会 AI大模型赋能家居新零售的进阶之路
  • 银河麒麟桌面V10-SP1-2303操作系统V10加固手册
  • 【Linux】基础 IO(一)
  • 深入浅出之STL源码分析2_类模版
  • 实现三个采集板数据传送到一个显示屏的方案
  • 大模型(LLMs)强化学习——RLHF及其变种
  • Fabric系列 - SoftHSM 软件模拟HSM
  • Yocto项目实战经验总结:从入门到高级的全面概览
  • 从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果
  • 数学相关使用笔记
  • Kubernetes 使用 containerd 实现 GPU 支持及 GPU Operator 部署指南
  • KNOWLEDGE-BASED SYSTEMS(KBS期刊)投稿经验分享
  • 多省市已开展现房销售试点,去年全国现房销售面积占比超30%
  • 当我们提起拉动消费时,应该拉动什么消费?
  • 西甲上海足球学院揭幕,用“足球方法论”试水中国青训
  • 时隔14个月北京怀柔区重启供地,北京建工以3.59亿元摘得
  • 2025柯桥时尚周启幕:国际纺都越来越时尚
  • 逆境之上,万物生长