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

广州知名网站建设有哪些百度网站关键词排名助手

广州知名网站建设有哪些,百度网站关键词排名助手,计算机网络技术毕业设计选题,网站开发学习班代码随想录二刷 | 栈与队列 |逆波兰表达式求值 题目描述解题思路 & 代码实现 题目描述 150.逆波兰表达式求值 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整…

代码随想录二刷 | 栈与队列 |逆波兰表达式求值

  • 题目描述
  • 解题思路 & 代码实现

题目描述

150.逆波兰表达式求值

给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。

请你计算该表达式。返回一个表示表达式值的整数。

注意:

  • 有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’ 。
  • 每个操作数(运算对象)都可以是一个整数或者另一个表达式。
  • 两个整数之间的除法总是 向零截断 。
  • 表达式中不含除零运算。
  • 输入是一个根据逆波兰表示法表示的算术表达式。
  • 答案及所有中间计算结果可以用 32 位 整数表示。

示例 1:

输入:tokens = [“2”,“1”,“+”,“3”,“*”]
输出:9
解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9

示例 2:

输入:tokens = [“4”,“13”,“5”,“/”,“+”]
输出:6
解释:该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6

示例 3:

输入:tokens = [“10”,“6”,“9”,“3”,“+”,“-11”,““,”/“,””,“17”,“+”,“5”,“+”]
输出:22
解释:该算式转化为常见的中缀算术表达式为:
((10 * (6 / ((9 + 3) * -11))) + 17) + 5
= ((10 * (6 / (12 * -11))) + 17) + 5
= ((10 * (6 / -132)) + 17) + 5
= ((10 * 0) + 17) + 5
= (0 + 17) + 5
= 17 + 5
= 22

提示:

  • 1 <= tokens.length <= 104

  • tokens[i] 是一个算符(“+”、“-”、“*” 或 “/”),或是在范围 [-200, 200] 内的一个整数

逆波兰表达式

逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。

  • 平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 ) 。
  • 该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * ) 。

逆波兰表达式主要有以下两个优点:

  • 去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。
  • 适合用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中

解题思路 & 代码实现

本题中每一个子表达式要得出一个结果,然后拿这个结果再进行运算,那么这就是一个相邻字符串消除的过程。这样就与这和1047. 删除字符串中的所有相邻重复项 (opens new window)差不多,只是将消除相邻元素换成了运算。

class Solution {
public:int evalRPN(vector<string>& tokens) {stack<long long> st;for (int i = 0; i < tokens.size(); i++) {if (tokens[i] == '+' || tokens[i] == '-' || tokens[i] == '*' || tokens[i] == '/') {long long num1 = st.top();st.pop();long long num2 = st.top();st.pop();if (tokens[i] == '+') st.push(num2 + num1);if (tokens[i] == '-') st.push(num2 - num1);if (tokens[i] == '*') st.push(num2 * num1);if (tokens[i] == '/') st.push(num2 / num1);} else {st.push(stoll(tokens[i]));}}int result = st.top();st.pop();return result;}
};
http://www.dtcms.com/wzjs/49943.html

相关文章:

  • 石家庄网站建设案例郑州网络营销哪个好
  • 灌南网站定制大地资源网在线观看免费
  • 网站开发需要解决难题快速整站优化
  • 南宁免费建站模板seo是什么姓
  • asp.net做网站后台国家免费技能培训官网
  • 北京最大做网站的公司十大职业资格培训机构
  • 重庆便宜做网站的新乡百度网站优化排名
  • 复兴企业做网站推广关键词优化需要从哪些方面开展
  • 网站建设广东sem推广竞价托管公司
  • 企业网站建设规划方案产品设计
  • 页面设计时说法正确的是seo公司软件
  • 网站效果图制作产品销售推广方案
  • 做网站广告多少钱百度推广关键词越多越好吗
  • 网站建设设计 飞沐社群运营
  • 天工网官方网站互联网营销案例
  • 如何在服务器上关闭网站关键词搜索神器
  • 网站做以后怎么修改网站内容自动点击器怎么用
  • flash是怎么做网站的seo 页面
  • 网站后台这么做视频教程b站视频推广网站400
  • 网站服务器停止响应怎么办地推接单正规平台
  • 泰国做网站百度网站排名优化价格
  • 西安十大网站制作公司电商平台如何推广运营
  • 杭州有哪些网站建设今天军事新闻最新消息
  • 醴陵网站开发宁波seo快速优化公司
  • 跨境电商单页网站的详情页怎么做的厦门百度关键词优化
  • 做游戏门户网站要注意什么阿里域名购买网站
  • 17一起做网站客服百度seo公司报价
  • 成人高考报名seo外包公司怎么样
  • 江苏天宇建设集团有限公司网站河南品牌网络推广外包
  • 江苏商城网站建设百度商城官网首页