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

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

可以构建一个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();}
}

http://www.xdnf.cn/news/5304.html

相关文章:

  • Linux的web服务器的部署和优化
  • 选对第三方软件测试公司,项目验收成功率提升90%
  • 构件是一个逻辑概念,还是一个物理概念?
  • cdn 是什么?
  • rust-candle学习笔记12-实现因果注意力
  • 有效的括号(简单)
  • ESP32配置GPIO,实现每0.5秒翻转LED电平
  • python笔记和练习----少儿编程课程【阶段二(二)】
  • C++--类的构造函数与初始化列表差异
  • 抖音视频上传功能测试全维度拆解——从基础功能到隐藏缺陷的深度挖掘
  • 【八股消消乐】项目中如何优化JVM内存分配?
  • [题解]2023CCPC黑龙江省赛 - Ethernet
  • Java多线程同步方法ReentrantLock显式锁实现方式
  • Python数据分析
  • Spring 6.x 详解介绍
  • 【从零实现JsonRpc框架#1】Json库介绍
  • 基于NI-PXI的HIL系统开发
  • MySQL 1366 - Incorrect string value:错误
  • MySQL:视图
  • 串口屏调试 1.0
  • ComfyUI 如何安装ComfyUI_SLK_joy_caption_two
  • window环境下,如何通过USB接口控制打印机
  • 质心均匀体(引力屏蔽技术)
  • 算法训练营第十三天|226.翻转二叉树、101. 对称二叉树、 104.二叉树的最大深度、111.二叉树的最小深度
  • 多模态大模型中的视觉分词器(Tokenizer)前沿研究介绍
  • 【入门】数字走向II
  • JavaScript 数组去重:11 种方法对比与实战指南
  • 什么是 B2B?2B 产品销售怎么找客户?
  • Unity基础学习(十)Camera组件
  • [ctfshow web入门] web67