LeetCode 150. 逆波兰表达式求值

2023-10-27

题目链接

150. 逆波兰表达式求值

遍历所有元素。如果当前元素是整数,则压入栈;如果是运算符,则将栈顶两个元素弹出做相应运算,再将结果入栈。最终表达式扫描完后,栈里的数就是结果。

数组模拟栈

class Solution {
public:
    int evalRPN(vector<string>& tokens) {
        int stk[tokens.size()], tt = 0;
        if(tokens.size() == 1) return stoi(tokens[0]);
        for(auto &t : tokens)
            if(t == "+" || t == "-" || t == "*" || t == "/"){
                int a = stk[tt];
                tt--;
                int b = stk[tt];
                tt--;
                if(t == "+") stk[++tt] = a + b;
                else if(t == "-") stk[++tt] = b - a;
                else if(t == "*") stk[++tt] = b * a;
                else stk[++tt] = b / a;
            }
            else stk[++tt] = stoi(t);
        return stk[tt];
    }
};

stack

class Solution {
public:
    int evalRPN(vector<string>& tokens) {
        stack<int> sta;
        for(auto &t : tokens)
            if(t == "+" || t == "-" || t == "*" || t == "/"){
                int a = sta.top();
                sta.pop();
                int b = sta.top();
                sta.pop();
                if(t == "+") sta.push(a + b);
                else if(t == "-") sta.push(b - a);
                else if(t == "*") sta.push(a * b);
                else sta.push(b / a);
            }
            else sta.push(atoi(t.c_str()));
        return sta.top();
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 150. 逆波兰表达式求值 的相关文章

  • 扬帆证券:成功投资的第一步:首次购买股票需要注意什么?

    关于第一次入市买股票的出资者来说 需求留意以下几点 1 股票的买卖规则 买卖时刻 早盘集合竞价9 15 9 25 尾盘集合竞价14 57 15 00 其中在9 15 9 20之间 出资者能够申报 也能够吊销申报 9 20 9 25之间 出资
  • 「优选算法刷题」:快乐数

    一 题目 编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果这个过程 结果为 1 那么这个
  • 『力扣刷题本』:逆波兰表达式求值

    大家好久不昂 最近 1 个多月罗根一直在备考期末 文章发的很少 现在已经放寒假啦 学习自然也不能拉下 毕竟 4 月份就要去参加蓝桥杯了 先给自己定个小目标 日更 2 篇 咳咳 下面马上开始讲题 一 题目 给你一个字符串数组 tokens 表
  • 扬帆证券:A股高股息资产“画像”:连续数年跑赢大盘

    近期A股分红 大方 股息率较高的板块再次引起关注 走势显着强于同期大盘 并继续遭到商场追捧 有专家在接受证券时报记者采访时以为 近年A股商场高股息财物受捧背面 有多种要素在发挥作用 包含高股息财物本身具有的出资优势 微观经济布景 出资者心态
  • memcpy 溢出边界利用? (破坏堆栈)

    我试图弄清楚这是否会以某种方式溢出 void print address char p arp hw int i hw length size p OFFSET1 189 4 193 memcpy hw addr packet OFFSET
  • C++:在堆栈中存储结构

    我有一个结构 struct Vehicle char ad Arrival departure char string license license value int arrival arrival in military time 我
  • 有意的缓冲区溢出并不总是导致程序崩溃

    考虑以下最小 C 程序 案例编号1 include
  • 在堆栈上增长数组

    这本质上是我的问题 在函数的生命周期中 我生成一些整数 然后在也是同一函数一部分的算法中使用整数数组 整数数组仅在函数内使用 因此将数组存储在堆栈上自然是有意义的 问题是在生成所有整数之前我不知道数组的大小 我知道如何在堆栈上分配固定大小和
  • 堆栈在缓存中吗?

    在现代计算机中 我知道当前代码区域位于高速缓存中 然而 在许多计算机语言实现中 本地 自动 变量将位于堆栈上 因此会对堆栈进行大量内存访问 在正常架构中 堆栈是否位于另一个缓存中 如果不是 则假设堆栈可以重新定位到 本地 即非常靠近当前代码
  • 什么是 C/C++ 数据段和堆栈大小?

    我读到这取决于编译器和操作系统架构 如何在使用 GCC 作为编译器的 Linux 系统上找到数据段和堆栈最大大小 让我和你一起实验一下 创建文件 test c 如下所示 int main void return 0 现在编译它 指定最大堆栈
  • 增加java中单个工作线程的堆栈空间

    在我的java web应用程序中 我有一个后台工作线程 它需要大量的堆栈空间 因为它使用activiti工作流引擎和groovy脚本任务运行一个非常复杂的工作流 目前 我需要在 64 位 Java 和 Tomcat 上将 JVM Xss 设
  • 如何增加 Qt 中线程的堆栈大小 - QThread::setStackSize() 似乎不起作用?

    从问题来看 运行批量插入或替换 500 行时 SQLite 堆栈溢出 为什么 https stackoverflow com questions 22576958 sqlite stack overflow when running a b
  • 使用javascript对堆栈元素进行排序

    我试图理解使用递归对堆栈元素进行排序http www geeksforgeeks org sort a stack using recursion http www geeksforgeeks org sort a stack using
  • NOP 雪橇如何工作?

    我找不到回答这个问题的好来源 我知道 nop sled 是一种用于规避缓冲区溢出攻击中堆栈随机化的技术 但我无法理解它是如何工作的 有什么简单的例子可以说明这种方法 128 字节 nop sled 等术语是什么意思 有些攻击包括使程序跳转到
  • printf() var-arg 引用如何与堆栈内存布局交互?

    给出代码片段 int main printf Val d 5 return 0 是否有任何保证编译器会存储 Val d and 5 连续地 例如 d l a V 5 Format String
  • 奇怪的 MSC 8.0 错误:“ESP 的值未在函数调用中正确保存...”

    我们最近尝试将一些 Visual Studio 项目分解为库 并且在测试项目中一切似乎都编译和构建得很好 其中一个库项目作为依赖项 然而 尝试运行该应用程序给我们带来了以下令人讨厌的运行时错误消息 运行时检查失败 0 ESP 的值未在函数调
  • 访问 Linux 线程(pthreads)的本地堆栈

    我目前正在实现一个使用多线程但对总内存消耗有要求的应用程序 我希望有一个主线程执行 I O 并有几个工作线程执行计算 目前 我在主堆栈上有几个可供工作人员访问的数据结构 我使用 OpenMP 进行工作分配 由于主 工作者模式不能很好地与 O
  • 哪个更快:堆栈分配或堆分配

    这个问题听起来可能相当简单 但这是我与另一位合作的开发人员进行的辩论 我小心翼翼地在可能的地方进行堆栈分配 而不是堆分配它们 他一边跟我说话 一边看着我 并评论说没有必要 因为他们的表现是一样的 我总是有这样的印象 堆栈的增长是恒定的时间
  • 推送 Lua 表

    我已经创建了一个Lua表C 但我不知道如何将该表推入堆栈顶部 以便我可以将其传递给 Lua 函数 有谁知道如何做到这一点 这是我当前的代码 lua createtable state libraries size 0 int table i
  • Ada初学者堆栈程序

    基本上 我有 2 个文件 adb 和 ads 我对 Ada 以及如何编译 2 个文件完全陌生 该程序是一个基本的堆栈实现 编译 adb 文件时出现此编译错误 gcc c test adt stack adb abstract char st

随机推荐

  • C++ 运算符

    运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号 C 提供了以下类型的运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 算术运算符 下表显示了 C 支持的所有算术运算符 假设变量 A 的值为 10 变
  • java反射

    文章目录 1 反射的缘起 1 1 什么是反射及反射机制 1 2 为什么会产生反射 1 反射的缘起 1 1 什么是反射及反射机制 反射就是把java类中的各个成分 构造器 属性 方法 映射成一个个的java对象 即在运行状态中 1 对于任意一
  • ThreadLocal的使用

    一 介绍 ThreadLocal的官方解释 ThreadLocal 是线程的局部变量 是每一个线程所单独持有的 其他线程不能对其进行访问 通常是类中的 private static 字段 是一个以ThreadLocal对象为键 任意对象为值
  • AD多张原理图元件自动标号

    首先新建工程 包含两张以上原理图 将原理图先画好 不需要标注 然后在任意原理图界面使用快捷键TAA 上图中箭头所指则为需要更改部分 1 处理顺序是选择你的元件标注顺序 一般从上往下 从左往右即可 2 原理图页标注栏中的顺序是指先标注哪张原理
  • mysql 关联删除_mysql如何删除关联表

    mysql数据库中 表与表之间进行关联之后 就不可随意的进行删除操作 否则会影响所有关联表之间的结构 那么如何安全的删除关联表呢 让我们来了解一下 mysql使用drop命令删除关联表 方法为 1 删除表的外键约束 外键是一个特殊字段 其将
  • python retrying_python自动重试第三方包retrying模块的方法

    retrying是一个python的重试包 可以用来自动重试一些可能运行失败的程序段 retrying提供一个装饰器函数retry 被装饰的函数就会在运行失败的情况下重新执行 默认只要一直报错就会不断重试 最近写了一个爬虫 需要连接国外的一
  • 【C++】一文解析std::binary_function、std::bind1st、std::bind2nd、std::bind

    STL中有一个叫做 适配器 的概念 它指的是某些函数可能定义了两个形参 但是某些算法需要的函数却有时候需要一个形参 那么就需要对其进行适配 将原本只需要两个参数的函数转变成需要1和参数就能正常运行的函数 就像你为你的笔记本充电 能直接一根火
  • Linux进程的基础知识、fork复制进程

    目录 1 进程的基础知识 1 进程 2 PCB 3 进程的状态 4 并发与运行 2 操作系统发展史 3 fork复制进程 1 进程的基础知识 1 进程 一个正在运行的程序 2 PCB 进程控制块 进程控制块是用一个结构体struct tas
  • 【贪心算法】背包问题

    题目 有一个背包 背包容量是M 150 有7个物品 物品可以分割成任意大小 要求尽可能让装入背包中的物品总价值最大 但不能超过总容量 物品 A B C D E F G 重量 35 30 60 50 40 10 25 价值 10 40 30
  • esp8266单片机透传_ESP8266系列 NODEMCU初体验

    上一次 我们讲到了ESP 01s 实际上就是一块WiFi透传模块 只能挂在单片机上 起到一个沟通和桥梁的作用 今天 我们来介绍ESP家族另一款非常常用的芯片 ESP8266 12系列 这个想邮票一样的芯片就是我们的12E 可以看出他与01s
  • c++基础二

    c 基础 无符号整数 unsigned unsigned char的范围从0开始 至少到255 unsigned int的范围从0开始 至少到65535 unsigned short的范围从0开始 至少到65535 unsigned lon
  • linux,Centos7,yum安装的curl无法正常使用

    root centos yum y install curl Loaded plugins fastestmirror langpacks Loading mirror speeds from cached hostfile Package
  • adb连接报错:This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong.

    Microsoft Windows 版本 6 1 7601 版权所有 2009 Microsoft Corporation 保留所有权利 C Users Administrator gt adb install C Users Admini
  • 【备忘】Unity IOS 覆盖安装后进游戏黑屏

    情景 unity LuaFrameWork UGUI V2 把资源打在包内用于过审 上架appStore后 覆盖安装下进游戏出现黑屏情况 上一版本是打小包过审 即大部分资源在进游戏后下载 推测 查看项目代码后 发现资源路径没有按版本号区分
  • 进行人工智能机器人研发,应该选择哪种编程语言?

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 这个问题大多数新的机器人专家在他们的职业生涯中至少会思考一次 不幸的是 这也是一个没有直接答案的问题 如果你在 Stack Overflow Quora Trossen R
  • 运行springmvc时出现如下错误org.springframework.web.servlet.DispatcherServlet noHandlerFound

    出现错误 八月 12 2018 10 46 42 上午 org springframework web servlet DispatcherServlet noHandlerFound 警告 No mapping found for HTT
  • 飞书小程序开发

    1 tt showModal后跳转页面 跳转路径要为绝对路径 相对路径跳转无响应 2 手机息屏后将不再进入onload 生命周期 直接进入onshow 生命周期 onLoad 在页面初始化的时候触发 一个页面只调用一次 onShow 在切入
  • 杀死“比尔”

    所有人有一个初始的生命值 一个警官要杀一个人则该人的生命值减p 其他人则减Q 最少要杀多少次才可以把所有人杀掉 百度笔试手速太慢 没敲上去 可怜 include
  • 【观察】浪潮K1 Power:产业升级换挡提速,关键计算保驾护航

    今天 国家对数字经济给予了前所未有的高度重视 在 十四五 规划中 国家就明确提出了要将数字经济核心产业增加值占GDP的比重从7 8 提高到10 这也意味着未来整个计算产业将会迎来更大的需求 而算力也将成为数字经济时代的核心生产要素 在此过程
  • LeetCode 150. 逆波兰表达式求值

    题目链接 150 逆波兰表达式求值 遍历所有元素 如果当前元素是整数 则压入栈 如果是运算符 则将栈顶两个元素弹出做相应运算 再将结果入栈 最终表达式扫描完后 栈里的数就是结果 数组模拟栈 class Solution public int