首页 > 其他分享 >150. 逆波兰表达式求值

150. 逆波兰表达式求值

时间:2023-03-27 20:56:52浏览次数:33  
标签:150 sta t2 t1 push 求值 表达式 cur

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

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

注意:

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

class Solution {
public:
    int evalRPN(vector<string>& tokens) {
        for (auto cur = tokens.cbegin(); cur != tokens.cend(); cur++)
        {
            int t1,t2;
            t1 = sta.top();
            sta.pop();
            t2 = sta.top();
            sta.pop();
            if(*cur=="+")
            {
                sta.push(t1 + t2);
            }
            else if(*cur=="-")
            {
                sta.push(t2 - t1);
            }
            else if(*cur=="*")
            {
                sta.push(t1 * t2);
            }
            else if(*cur=="/")
            {
                sta.push(t2 / t1);
            }
            else{
                sta.push(atoi((*cur).c_str()));
            }
        }
        int res = sta.top();
        return res;
    }
private:
    std::stack<int> sta;
};

标签:150,sta,t2,t1,push,求值,表达式,cur
From: https://www.cnblogs.com/lihaoxiang/p/17262828.html

相关文章

  • 正则表达式
    正则表达式常用示例输入示例:时间2019-12-11,BeiJing时间08:10。包含2019不包含字符不包含单个字符[^\d]不包含字符串((?!str).)*不以某字符串开头^(?!str)......
  • #yyds干货盘点# LeetCode程序员面试金典:正则表达式匹配
    题目:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持'.' 和 '*' 的正则表达式匹配。'.'匹配任意单个字符'*'匹配零个或多个前面的那一个元素所谓匹配,是要涵......
  • lambad表达式案例
    案例1:  代码实现:package黑马程序员;importjava.util.Arrays;importjava.util.Comparator;publicclasstext{publicstaticvoidmain(String[]args){......
  • lambda表达式
    作用:简化函数式接口的匿名内部类写法使用前提:必须是接口的匿名内部类,接口中只能有一个抽象方法好处:lambda是一个匿名函数,我们可以把lambda表达式理解为是一段可传递的代......
  • 正则表达式
    Java正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式......
  • C#通过Lambda表达式实现闭包
    背景c#是一门面向对象的编程语言,所以C#中以对象作为最小粒度,如果要存储状态信息,当然是存储在对象(或类)中。方法(函数)本身是没有状态的,每一次执行都是完全一致的。我们先看......
  • EL表达式隐式对象
        ......
  • EL表达式获取数据及细节
    EL表达式没有空指针异常、索引越界异常;EL表达式没有字符串的拼接;<%@pageimport="www.hw.demo.Student"%><%@pageimport="java.util.ArrayList"%><%@pageimpor......
  • 后缀表达式的值
    【例1-2】后缀表达式的值时间限制:10ms      内存限制:65536KB提交数:850   通过数:119 【题目描述】从键盘读入一个后缀表达式(字符串),只含有0-9组成的......
  • 正则表达式大全
    常用正则表达式一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的......