题目: NC212914 牛牛与后缀表达式 ,哈哈,我们今天来看一道简单的数据结构题嘛,这是选自牛客上的一道题,好了,我们一起来看看题意吧:

考虑到直接复制题目,或者截屏的方式不是很方便阅读,我就把直接题目链接放下面!
题目传送门: NC212914 牛牛与后缀表达式

思路:

这道题没什么好说的,根据题意做就是,采用栈这种数据结构比较好做,当然,也可以用数组,还有其他方法!

我们来看看成功AC的代码吧:

#define ll long long
ll calc(string x){ll num=0;for(int i=0;i<x.size();i++) num=num*10+(x[i]-'0');return num;
}
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 给定一个后缀表达式,返回它的结果* @param str string字符串 * @return long长整型*/long long legalExp(string str) {// write code herestack<ll> st;string s = str;string s2="";for(int i=0;i<s.size();i++){if(s[i]!='#'&&s[i]!='+'&&s[i]!='-'&&s[i]!='*'){s2+=s[i];}if(s[i]=='#'&&s[i]!='+'&&s[i]!='-'&&s[i]!='*')  { ll t = calc(s2) ; st.push(t); s2=""; }if(s[i]=='+') {ll x2=st.top(); st.pop(); ll x1=st.top(); st.pop();st.push(x2+x1);}if(s[i]=='-') {ll x2=st.top(); st.pop(); ll x1=st.top(); st.pop();st.push(x1-x2);}if(s[i]=='*') {ll x2=st.top(); st.pop(); ll x1=st.top(); st.pop();st.push(x2*x1);}}return st.top();}
};

谢谢你的阅读,由于作者水平有限,难免有不足之处,若读者发现问题,还请批评,在留言区留言或者私信告知,我一定会尽快修改的。若各位大佬有什么好的解法,或者有意义的解法都可以在评论区展示额,万分谢谢。
写作不易,望各位老板点点赞,加个关注!

NC212914 牛牛与后缀表达式相关推荐

  1. java中缀表达式转后缀表达式(逆波兰算法)

    四则运算是栈的重要应用之一 中缀表达式转后缀表达式(逆波兰算法)过程 从左到右遍历中缀表达式 数字直接输出为后缀表达式一部分 如果是符号,则判断与栈顶元素的优先级 高于栈顶元素优先级直接入栈 低于或等 ...

  2. java中缀表达式转后缀表达式_数据结构Java实现06----中缀表达式转换为后缀表达式...

    本文主要内容: 表达式的三种形式 中缀表达式与后缀表达式转换算法 一.表达式的三种形式: 中缀表达式:运算符放在两个运算对象中间,如:(2+1)*3.我们从小做数学题时,一直使用的就是中缀表达式. 后 ...

  3. 【Java】LeetCode 150. 逆波兰表达式求值 (后缀表达式)

    题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话 ...

  4. P1449 后缀表达式

    题目描述 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级). 如:3*(5–2)+7对应 ...

  5. 数据结构实验——中缀表达式转为后缀表达式

    一.实验内容: 编写程序,实现中缀表达式化为后缀式输出. 已知中缀表达式中操作数全部用小写英文字母表示,运算符只含有+, -, *, /四种,定界符只有( )以及结束符#. 二.程序源代码: 运行示例 ...

  6. 九、中缀表达式转为后缀表达式

    使用栈将中缀表达式转为后缀表达式并计算 一.中缀表达式转换为后缀表达式 由于后缀表达式适合计算式进行计算,但是人对于较长的中缀表达式,很难将中缀表达式直接转换为后缀表达式,于是我们使用栈来实现中缀表达 ...

  7. c语言表达式的后缀,中缀表达式转换成后缀表达式C语言程序(一)

    逆波兰表达式(Reverse Polish Notation)又叫后缀表达式.它是一种非常的表达式,可以将复杂的表达式转换成可以依靠简单的操作得到结果的表达.下面这段C语言即是用于实现将中缀表达式转换 ...

  8. 将中缀表达式转化为后缀表达式

    我们把平时所用的标准四则运算表达式,即"9+(3-1)*3+10/2"叫做中缀表达式.因为所有的运算符号都在两数字的中间,现在我们的问题就是中缀到后缀的转化. 中缀表达式" ...

  9. c语言后缀表达式构造二叉树,C ++程序为后缀表达式构造表达式树

    表达式树基本上是用于表示表达式的二叉树.在表达式树中,节点对应于运算符,每个叶节点对应于操作数.这是一个C ++程序,用于按顺序,前顺序和后顺序遍历为后缀表达式构造一个表达式树. 算法Begin Fu ...

最新文章

  1. Tempdb数据库详细介绍
  2. Matlab编程与数据类型 -- 多分支条件选择语句if/elseif/…/else/end
  3. Mocha BSM产品亮点——策略管理
  4. 未来智能社会的一砖一瓦都需要今天我们一点点的探索发现!
  5. python编程快速上手-----让繁琐工作自动化_每周一书《Python编程快速上手 让繁琐工作自动化》分享!...
  6. 数据丢包怎么修复_交换机发生网络通信故障怎么解决?
  7. java三目运算符判断boonlean,java三元运算符
  8. Codeforce 1255 Round #601 (Div. 2) A. Changing Volume (贪心)
  9. Python爬虫你需要积累这些基本知识_Python学习基础路线
  10. 晶振封装(绝对实用)
  11. Flask 框架学习1
  12. Fedora23安装有道词典
  13. 信息融合发展沿革与技术动态
  14. [ubuntn]常用软件安装方法
  15. 解决由于ntoskrnl.exe导致的蓝屏
  16. AI:2020年6月23日北京智源大会演讲分享之AI创业专题论坛——10:30-11:20陆奇教授《AI创业发展趋势:机会与挑战》
  17. 数字时代的中国支付体系现代化——DC/EP与数字人民币
  18. mp3播放器 遍历本地音乐显示在listview上,点击每一项item并传送音乐地址
  19. 关于充电桩绝缘检测中判断标准以及检测电压的选取
  20. ARM体系结构与编程_2015.08_P513_完整版PDF电子书下载 带索引书签目录高清版

热门文章

  1. GitHub上最火的40个Android开源项目
  2. vue+springboot后台管理系统架子
  3. EEG源定位的线性分布逆解
  4. 以太网监控2022年应当关注的关键挑战和解决方案
  5. windows和linux中RabbitMQ客户端下载安装
  6. 资深测试老司机优化软件测试成本的 7 个步骤
  7. 蓝桥杯2017初赛:迷宫 (dfs搜索)
  8. a.x=a={n:1} JS中使用连等赋值操作
  9. java共享内存_Java进程通信之映像文件共享内存
  10. (图文详细)AppServer安装及配置教程