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

LeetCode 150.逆波兰表达式求值

题目链接

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目解析

        首先我们需要知道什么是逆波兰表达式,像我们平常遇到的都是中缀表达式,然而逆波兰确实后缀表达式,因此这个题目隐含的意思就是将一个后缀表达式转换为中缀表达式,并计算它的值。

        本题使用栈来进行存储遍历到的数据,当我们遍历到数字的时候将该数字入栈,如果遍历到运算符就出栈两个数进行运算符的操作,然后将结果入栈。最终剩下的栈顶元素就是我们需要的答案。

代码

class Solution 
{
public:int evalRPN(vector<string>& tokens) {// stoi// "+" "-" "*" "/"stack<int> st;for(auto str:tokens){if(str=="+"||str=="-"||str=="*"||str=="/"){int right=st.top();st.pop();int left=st.top();st.pop();switch(str[0]){case '+':{int ret=left+right;st.push(ret);break;}case '-':{int ret=left-right;st.push(ret);break;}case '*':{int ret=left*right;st.push(ret);break;}case '/':{int ret=left/right;st.push(ret);}default:{}}}else{int target=stoi(str);st.push(target);}}return st.top();}
};

http://www.lryc.cn/news/194117.html

相关文章:

  • 华为---企业WLAN组网基本配置示例---AC+AP组网
  • 循环结构的运用
  • 深度强化学习第 1 章 机器学习基础
  • 第一章 STM32 CubeMX (CAN通信发送)基础篇
  • 原子性操作
  • 论文阅读:Segment Any Point Cloud Sequences by Distilling Vision Foundation Models
  • Netty 入门 — 亘古不变的Hello World
  • idea插件开发javax.net.ssl.SSLException: No PSK available. Unable to resume.
  • Selenium的WebDriver操作页面的超时或者元素重叠引起的ElementClickInterceptedException
  • oracle数据库的缓存设置
  • 算法通关村第一关-链表青铜挑战笔记
  • ✔ ★【备战实习(面经+项目+算法)】 10.15学习时间表
  • pytorch 训练时raise EOFError EOFError
  • node.js+NPM包管理器+Webpack打包工具+前端项目搭建
  • PCL点云处理之基于FPFH特征的全局配准流程具体实现(二百二十一)
  • ai_drive67_基于不确定性的多视图决策融合
  • Docker逃逸---procfs文件挂载
  • [Python小项目] 从桌面壁纸到AI绘画
  • 【Docker 内核详解】namespace 资源隔离(五):User namespaces
  • 网络原理必知会
  • ELK 日志分析系统介绍与部署
  • Android 内存治理之线程
  • 三、K8S之ReplicaSet
  • 【基础篇】四、本地部署Flink
  • 简述什么是迭代器(Iterator)?
  • DarkGate恶意软件通过消息服务传播
  • LeetCode——动态规划篇(六)
  • sql 注入(2), 文件读写 木马植入 远程控制
  • 求直角三角形第三点的坐标
  • 【Kotlin精简】第3章 类与接口