Evaluate Reverse Polish Notation

2023-05-16

Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are +-*/. Each operand may be an integer or another expression.

Some examples:


  ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
  ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6  
逆波兰表达式,比较简单,不过我的代码有点复杂。。。如下:
int evalRPN(vector<string> &tokens) {
        stack<int> result;
        result.push( 0 );
        
        int one = 0, second = 0;
        for( int ix = 0; ix < tokens.size(); ++ix )
        {
            if( tokens[ ix ] == "+" )
            {
                one = result.top(), result.pop();
                second = result.top(), result.pop();
                result.push( second + one );
            }
            else if( tokens[ ix ] == "-" )
            {
                one = result.top(), result.pop();
                second = result.top(), result.pop();
                result.push( second - one );
            }
            else if( tokens[ ix ] == "*" )
            {
                one = result.top(), result.pop();
                second = result.top(), result.pop();
                result.push( second * one );
            }
            else if( tokens[ ix ] == "/" )
            {
                one = result.top(), result.pop();
                second = result.top(), result.pop();
                result.push( second / one );
            }
            else result.push( atoi( tokens[ ix ].c_str()));
        }
        return result.top();   
    }
有大婶代码: https://oj.leetcode.com/discuss/7494/my-accepted-c-solution
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Evaluate Reverse Polish Notation 的相关文章

  • 不使用reverse() 或[::-1] 反转字符串?

    我遇到了一个奇怪的 Codecademy 练习 它需要一个函数 该函数将字符串作为输入并以相反的顺序返回它 唯一的问题是你不能使用相反的方法或 stackoverflow 上的常见答案 1 显然 在现实的编程世界中 人们很可能会选择扩展切片
  • 一种数据结构,其中键为单词簇,值为单个单词或字符串

    我想创建一个能够将一组或一组单词映射到单个单词或字符串的数据结构 它可以被认为是 python 中字典的反向操作 您可以使用常规字典 targetword good wordmap best targetword positive targ
  • 如何在 PowerShell 数组中反转横向

    Given a PowerShell array hashtable1 similar to the following dept Sales SAM Manager SAP Person IT ITM Manager ITS Specia
  • jquery:反转顺序

    如何使用 jquery 反转订单 我尝试了这样的建议 但行不通 block item get reverse each function 看一看here http jsfiddle net BhTEN 我希望盒子能像这样重新排列 18 17
  • 反向重用 CSS 动画(通过重置状态?)

    我在 CSS 中使用了两个关键帧动画 一个从左向右移动 另一个使用完全相同的值 但方向相反 keyframes moveLeft from transform translate3d 50px 0 0 to transform transl
  • 在 Javascript 中反转数字而不使其成为字符串[重复]

    这个问题在这里已经有答案了 谁能告诉我我的代码哪里出错了 我正在尝试反转数字而不将其更改为字符串 我一直在搜索谷歌并浏览了之前提出的有关该主题的问题 从我可以看到我的代码反映了其他答案 我只能找到不使用 to string 方法的 Java
  • 有人有 ERD 符号快速参考吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一页快速参考或备忘单 最好是 PDF 格式 以了解 Crowsfoot Martin 表示法
  • 有没有办法禁用 Coq 中的特定符号?

    我希望在 Coqide 中 证明状态不使用某种符号 但仍使用所有其他符号 这可能吗 据我在文档中的理解 这是不可能的 您也许可以使用打开 关闭范围 但我不确定它是否有效 因为明确指出只要有可能 符号将用于打印
  • 反转字符串中单词的顺序

    我正在准备初级工作面试 我试图反转字符串中单词的顺序 但我的输出是一堆毫无意义的垃圾 我认为问题可能是因为我在函数中使用 char 无论如何 这是我的代码 include
  • Python - 反转列表中字符串的函数

    疯狂地学习Python 并且有很多很多的问题 这次关于函数 我需要创建两个函数 第一个函数用于数字来总结用户在列表中输入的所有内容 第二个函数是用户在列表中输入一些单词 并且函数不触及列表中的单词索引 取每个函数单词并返回相反的单词 在同一
  • Ollydbg 1.10“返回用户模式”不起作用

    我尝试学习 莉娜为新手倒车 https tuts4you com download php view 125 当出现一些麻烦时 我使用 ollyDbg 启动 Pixtopian Book 然后尝试使用 MessageBox 来显示有关未注册
  • XSLT:如何在不按内容排序的情况下反转输出

    我有一个项目清单
  • 为什么Python中的元组可以使用reversed但没有__reversed__?

    在讨论中这个答案 https stackoverflow com questions 9449674 how to implement a persistent python list 9449852 9449852我们意识到元组没有 re
  • 向后循环 python 字符串的最佳方法

    向后循环 python 字符串的最佳方法是什么 对于所有需要 1 偏移量的情况 以下内容似乎有点尴尬 string trick or treat for i in range len string 1 0 1 1 print string
  • 将 iOS 应用程序版本恢复到旧版本 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 一旦我的新版本经过验证并发布 如果我想回滚 itunes 是否有功能可以恢复到以前的版本 或者我应该重新提交旧版本 Thanks 一旦应用程序版本获得
  • 如何将字符串公式变成“真正的”公式?

    I have 0 4 A1在单元格中 作为字符串 如何将这个 字符串公式 转换为真正的公式并在另一个单元格中计算其值 Evaluate可能适合 http www mrexcel com forum showthread php t 6206
  • leetcode 逆整数——如何处理溢出

    问题是 反转整数的数字 示例1 x 123 返回321 示例2 x 123 返回 321 您是否注意到反转的整数可能会溢出 假设输入是32位整数 那么1000000003的逆序就会溢出 遇到此类情况应该如何处理 抛出异常 很好 但是如果不能
  • 在 Visual Studio Code 中找不到“调试:评估”的 CommandID

    我想在 Visual Studio Code 中添加命令 调试 评估 的键盘快捷键 不幸的是 命令 调试 评估 的命令 ID 没有记录 有人知道在哪里可以找到 commandId 吗 editor debug action selectio
  • 如何使用 jQuery 在第二次单击时反转 CSS 动画

    我制作了以下菜单图标 CSS 动画 当我点击它时会触发它 当我使用 jQuery 第二次单击它时 我想使其反向动画 path1 stroke dasharray 33px stroke dashoffset 33px animation l
  • 如何在Python中反转列表的列表? [复制]

    这个问题在这里已经有答案了 我想知道如何反转 python 中的列表列表 例如 原来的 list 1 2 3 4 5 6 7 8 9 输出 new list 7 8 9 4 5 6 1 2 3 现在 我正在尝试这样做 new list re

随机推荐

  • 基于C语言实现(WinForm)FIFA球队管理系统【100010337】

    1 引言 1 1 编写目的 在如今市场上 xff0c 各种评估分析类的软件层出不穷 作为当今世界上最受欢迎的球类之一 足球 xff0c 也以之为题材产生了世人所知的足球管理类游戏 xff0c FIFA足球经理 但是 xff0c 由于其占用内
  • Ubuntu18.04下CUDA10.x和TensorFlow1.x环境搭建(2019.7重编版)

    目录 前言开发环境一览 显卡驱动安装 下载驱动 禁用nouveau 安装驱动 安装CUDA 10 x第一个CUDA程序 安装cudnn7 x安装TensorFlow1 x最后 Mac和Ubuntu下修改pip源和TensorFlow CPU
  • 数通运营商方向常见面试问题(第五部分)

    VXLAN以主要应用在哪里 和传统的二层网络相比 xff0c 有什么优势7 数据中心 首先描述传统二层VPN的缺点 xff1a 传统二层要用STP 收敛慢 链路利用率低不合适 传统VPLS为解决环路会采用STP技术 xff0c CE到PE采
  • Xshell 6 首次连接虚拟机 CentOS 6.8报错:/usr/bin/xauth: file /root/.Xauthority does not exist

    首次连接虚拟机时会提示 usr bin xauth file root Xauthority does not exist xff0c xff0c 这个没关系 xff0c 系统在连接之后会自动创建 xff0c 再次连接时就好了 如下图 xf
  • 一个不喜欢读书的Javaer的读书单

    很可惜 xff0c 从我一开始学技术开始 xff0c 我就不喜欢看书 xff0c 严重的时候翻不到两页就会开始狂打瞌睡 很幸运 xff0c 有互联网能够为我提供很多知识 xff0c 甚至一些知识从网上看来的会更加权威一些 但是 xff0c
  • 【分享】Ubuntu桌面版图形界面下换源

    写在前面 xff1a 由于操作极其简单 xff0c 所以一开始还犹豫要不要单独写篇文章 xff0c 但是后来上网查了以下 xff0c 发现主流都是修改sources list文件的方法 xff08 这种方法的教程见下面的连接 xff0c 这
  • java 之产生死锁的必要条件

    1 死锁 怎么去打破 1 死锁发生的原因 是多个进程并发请求 争夺系统资源而产生的相互等待情况 2 本质问题 xff1a 1 系统资源有限 2 进程推进顺序不合理 3 死锁产生的4个必要条件 xff1a 3 1 进程互斥 资源分配给进程之后
  • MAC 安装tree : fatal error: 'stdlib.h' file not found

    MAC 安装tree fatal error 39 stdlib h 39 file not found 未安装 Command Line Tools命令行工具 xff0c 安装步骤如下 xff1a 在终端中输入 xcode select
  • blog记录

    blog记录 blog整理linux内核redis云 43 负载均衡算法git blog整理 linux内核 https blog csdn net gatieme article category 9265324 Linux内核剖析 xf
  • Git撤销&回滚操作(git reset 和 get revert)

    git 工作流 xff1a 工作区 xff1a 即自己当前分支所修改的代码 xff0c git add xx 之前的 xff01 不包括 git add xx 和 git commit xxx 之后的 暂存区 xff1a 已经 git ad
  • 51单片机——计数器与定时器的区别

    定时器和计数器是同一器件 计数器 其共同的特点是都有一个计数脉冲输入端 每输入一个脉冲 计数器就进行加1或减1计数 若计数器件的计数脉冲的频率固定 则可利用计数实现定时 这就是定时器 若计数器件的作用仅仅是记录输入脉冲的多少 则称为计数器
  • git学习笔记

    本地仓 lt gt 暂存区 lt gt 版本库 撤销 xff1a 已修改的文件test c xff0c 撤销 git checkout test c 必须要 xff0c 不然就会切换分支已修改的文件并使用 git add 添加到暂存区 gi
  • github提交代码-简介

    使用步骤 在 github 上 fork 一个项目到自己的仓库 需要先fork xff0c 因为原始项目没有权限git clone https github com name repos git 从自己的仓下 clone代码到本地修改本地代
  • linux时间相关结构体和函数整理

    一 时间类型 Linux下常用的时间类型有4个 xff1a time t xff0c struct timeb struct timeval xff0c struct timespec xff0c clock t struct tm 1 t
  • xargs 命令

    xargs xargs 命令 用途 构造参数列表并运行命令 大多数 Linux 命令都会产生输出 xff1a 文件列表 字符串列表等 但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办 xff1f 例如 xff0c file 命令
  • fedora20安装putty No package ‘gtk+-2.0′ found

    这里转载一下 我在编译安装emacs23的时候提示No package gtk 43 2 0 found centos的开发环境 网上搜了一下 xff0c 发现安装gtk 43 2 0不是一件容易的事 xff0c 后来无意发现一个帖子挺不错
  • Reverse Words in a String

    Given an input string reverse the string word by word For example Given s 61 34 the sky is blue 34 return 34 blue is sky
  • Linked List Cycle

    Given a linked list determine if it has a cycle in it Follow up can you solve it without using extra space 最初代码 xff0c 错误
  • Linked List Cycle II

    Given a linked list return the node where the cycle begins If there is no cycle return null Follow up Can you solve it w
  • Evaluate Reverse Polish Notation

    Evaluate the value of an arithmetic expression in Reverse Polish Notation Valid operators are 43 Each operand may be an