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

旅游网站开发设计报告书比较好的网站开发教学网站

旅游网站开发设计报告书,比较好的网站开发教学网站,徐州手机网站建设公司哪家好,中企动力建的网站如何每日一题(LeetCode)----栈和队列–逆波兰表达式求值 1.题目(150. 逆波兰表达式求值) 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算…

每日一题(LeetCode)----栈和队列–逆波兰表达式求值

1.题目(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 + * 也可以依据次序计算出正确结果。
    • 适合用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中

2.解题思路

思路一:使用栈

遍历字符串数组 遇到数字或字母直接入栈, 遇到符号,就将栈顶元素的下一个元素和栈顶元素出栈,然后这两个出栈的元素和符号构成表达式进行计算,最后将计算得到的结果入栈

3.写出代码

思路一的代码

class Solution {
public:int evalRPN(vector<string>& tokens) {stack<int> sta;int length=tokens.size();for(int i=0;i<length;i++){if(tokens[i]!="+"&&tokens[i]!="-"&&tokens[i]!="*"&&tokens[i]!="/"){sta.push(atoi(tokens[i].c_str()));}else{//栈顶元素int temp1=sta.top();sta.pop();//栈顶的下一个元素int temp2=sta.top();sta.pop();if(tokens[i]=="+"){sta.push(temp2+temp1);}if(tokens[i]=="-"){sta.push(temp2-temp1);}if(tokens[i]=="*"){sta.push(temp2*temp1);}if(tokens[i]=="/"){sta.push(temp2/temp1);}}}int res=sta.top();sta.pop();return res;}
};
http://www.yayakq.cn/news/713059/

相关文章:

  • 建站公司网站 phpwind把静态图片做成动态图片的软件
  • 三星商城官网首页开封搜索引擎优化
  • 企业网站优化暴肃湖南岚鸿很好wap文字游戏搭建教程
  • 2019网站怎么做浏览器直接进入网站的注意事项
  • 网站建设报价网页内容修改器
  • 单位网站建设意见建议网页设计课程报告
  • 今傲网站做的怎么样公司网站搭建费用
  • 安徽建设住房建设厅网站网站反向代理怎么做
  • 做棋子网站怎么提高浏览量营销软文小短文
  • 数字报网站模板网站站群管理系统
  • 祥云平台做的网站效果好免费服务器空间
  • 揭阳专业网站设计公司建筑效果图
  • 职业教育网站建设方案黄村网站开发公司电话
  • 惠州seo整站优化国外优秀企业网站
  • 做自媒体搬运文章的网站怎么看网站是什么时候做的
  • 怎样做自适应网站2022年编程语言官方排行榜
  • 上海 网站建设平台 补贴wordpress网页打不开
  • ps怎么做网站导航重庆市交通建设工会网站
  • 包头市网站建设网站建站平台 开源
  • 自助建网站的平台 数据库长沙域名注册
  • 公司网站横幅是做的吗做证书的网站
  • 怎样做网站兼职网站首页关键词优化
  • 做网站软件 wordpagewordpress 怎么打开
  • 免费做金融网站东台做网站的公司
  • 无锡seo网站建设费用销售公司怎么做网站
  • docker wordpress git企业网站优化软件
  • 做网站难吗?长沙app开发费用多少
  • 广西建设局网站安卓软件开发需要学什么
  • 接单做网站的投资者教育网站建设
  • 前程无忧网站开发待遇怎么样html5 网站自适应