【栈】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();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/693306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++(18)——适配器概念以及stack、queue、优先队列的模拟实现

上篇文章中&#xff0c;给出了对于模拟实现中功能的补全&#xff0c;本篇文章将优先介绍一个新的容器之后引入什么是适配器&#xff0c;以及适配器的使用方法&#xff0c;再通过适配器的思想来完成对于&#xff0c;、优先级队列_的实现。 目录 1. deque: 1.1 什么是deque&…

导出docker MySQL中的数据库写一个shell 脚本

安装命令 mysqldump sudo apt update sudo apt install mysql-client编辑脚本内容 export_mysql.sh #!/bin/bash# Docker 容器的 IP 地址 container_ip"172.26.77.246"# MySQL 数据库的用户名和密码 mysql_user"root" mysql_password"your_password…

Android studio 安装以及第一个程序

一、配置 1、下载JDK&#xff08;JDK&#xff1a;Java Development Kit Java开发工具包&#xff09; 打开Java Downloads | Oracle下载地址下载相应的JDK版本即可&#xff0c;需要注意的是请下载JDK11以上的版本&#xff0c;并且是64位版 2、安装JDK 双击打开已经下载好的安装…

Query Rewrite —— 基于大模型的query扩展改写,PRF+ GRF协同发力减少LLM的幻觉问题(论文)

通过GRF和PRF&#xff0c;可以有效提升召回率&#xff0c;和top的数据质量。两者可以相互互补&#xff0c;发挥更好的作用。 论文&#xff1a;Generative and Pseudo-Relevant Feedback for Sparse, Dense and Learned Sparse Retrieval 什么是PRF &#xff1f; Pseudo-relevan…

python在flask中的请求数据“无限流”

文章目录 一、问题描述二、解决方案 一、问题描述 在flask请求中&#xff0c;有个需求是让调用方一直调接口&#xff0c;并立马返回&#xff0c;而接口方缓存请求&#xff0c;依次执行。 二、解决方案 from flask import Flask, request, jsonify from queue import Queue i…

新年伊始,VR全景释放“强信号”,可以结合哪些行业?

一年之计在于春&#xff0c;各行各业都想抢占在经济的第一线&#xff0c;那么如何抓住新一轮科技革命和产业变革新机遇呢&#xff1f;VR全景释放了“强信号”。对于大部分实体行业来说&#xff0c;都会有VR全景的制作需求&#xff0c;租房买房的&#xff0c;可能都见识过线上VR…

【JGit】分支管理实践

本文紧接【JGit】简述及学习资料整理。 以下梳理了使用 JGit 进行 Git 操作的实践 JGit实践 主函数 public static void main(String[] args) throws Exception {String localDir "D:\\tmp\\git-test\\";String gitUrl "http://192.168.181.1:3000/root/g…

如何邀请媒体参加活动报道?媒体邀约的几大步骤?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 邀请媒体参加活动报道通常需要发送邀请函、提供详细活动信息&#xff0c;并通过电话或邮件进行跟进确认。 在邀请媒体之前&#xff0c;应该制定一个详细的媒体规划表&#xff0c;包括拟…

高级统计方法 第2次作业

概念 1. &#xff08;a&#xff09; 光滑度高的好&#xff0c;样本足够多光滑度越高就越能表征真实情况&#xff0c;也能对预测变量更好的预测。 &#xff08;b&#xff09; 光滑度低的好&#xff0c;因为可能“过拟合”&#xff0c;一些误差大的数可能会较大的影响到预测…

Python asyncio+playwright批量获取deepL翻译

Playwright和Selenium一样&#xff0c;属于动态渲染工具&#xff0c;所以用asyncio异步协程加快一下速度。 大致框架是这样的&#xff0c;能跑是能跑&#xff0c;然而(:3[___]还有很多需要优化的地方&#xff0c;后面打算整理一下错误处理机制&#xff0c;引入队列&#xff0c…

机器学习速成

一&#xff0c;教程推荐 【(超爽中英!) 2023公认最好的【吴恩达机器学习】教程&#xff01;附课件代码 Machine Learning Specialization】https://www.bilibili.com/video/BV16C4y197St?vd_sourcedb98a5294f4e914ff8d9b0cad1ee6bda --吴恩达永远的神&#xff1b;然后需要点…

1313:【例3.5】位数问题——(思路非常的奇特,值得一看)

【题目描述】 在所有的N位数中&#xff0c;有多少个数中有偶数个数字33?由于结果可能很大&#xff0c;你只需要输出这个答案对1234512345取余的值。 【输入】 读入一个数N(N≤1000)。 【输出】 输出有多少个数中有偶数个数字3。 【输入样例】 2 【输出样例】 73 这是一道经…

Code-Audit(代码审计)习题记录

介绍&#xff1a; 自己懒得搭建靶场了&#xff0c;靶场地址是 GitHub - CHYbeta/Code-Audit-Challenges: Code-Audit-Challenges为了方便在公网练习&#xff0c;可以随地访问&#xff0c;本文所有的题目均来源于网站HSCSEC-Code Audit 1、习题一 题目内容如下&#xff1a; 1…

How to install a specific version of a package in R

How to install a specific version of a package in R 在使用R语言完成数据分析的过程中&#xff0c;很多时候&#xff0c;因为项目实际需要&#xff0c;我们应该指定某些库文件的安装包的版本&#xff0c;这个时候&#xff0c;我们可以基于devtools包中的函数install_version…

FX110网:easyMarkets易信被评为2023最佳外汇经纪商

easyMarkets 易信目前正在庆祝其进入行业第 23 周年&#xff0c;很高兴地宣布其在 2023 年 TradingView 经纪商奖中被授予“最佳外汇经纪商”称号&#xff0c;这是其第 51 次荣获殊荣奖项。 “我们的共同使命是为交易者提供最好的交易环境和交易工具。 得益于我们全球社区的广泛…

JQuery简介与解析

jQuery是一个快速、小巧、功能丰富的JavaScript库&#xff0c;它简化了HTML文档遍历、事件处理、动画和Ajax等操作。自从2006年由John Resig创建以来&#xff0c;jQuery已经成为Web开发中最受欢迎的JavaScript库之一。以下是对jQuery的简介和一些关键特性的解析&#xff0c;以及…

手把手将 VSCode 快捷键修改为 Eclipse 的快捷键

1.在 vscode 上方搜索栏输入 >keyboard 2. 选择图中红框的内容 3.将Eclipse的常用快捷键复制进去 { "key": "ctrld", "command": "-editor.action.addSelectionToNextFindMatch", "when": "editorFocus" }, {…

微信小程序video 点击自动全屏播放

//因为这个地址可能是图片也可能是视频 点击 图片可以预览&#xff0c;点击视频可放大全屏自动播放。 代码如下 <view v-else :class{contentImg: x.picture.length0} style"margin-top: 10px;"v-for"(x1, y1) in x.picture" :key"y"><…

selenium XPATH 使用简单例子

定位所有的 a 元素&#xff1a; //a 定位带有特定id属性的元素&#xff1a; //*[id“exampleId”] 定位带有特定class属性的元素&#xff1a; //*[contains(class, “exampleClass”)] 定位包含特定文本的元素&#xff1a; //*[text()“Example Text”] 定位包含特定部分文…

说一下 JVM 运行时数据区 ?

目录 一、程序计数器&#xff08;Program Counter Register&#xff09; 二、Java 虚拟机栈&#xff08;Java Virtual Machine Stacks&#xff09; 三、本地方法栈&#xff08;Native Method Stack&#xff09; 四、Java 堆&#xff08;Java Heap&#xff09; 五、方法区&…