面试题42:计算逆波兰表达式(RPN)
这是一个比较简单的题目,借助栈可以轻松实现逆波兰表达式。
题目描述:
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
 class Solution {
 public:
     int evalRPN(vector<string> &tokens) {
         stack<int> s;
         for(string str : tokens){
             if(str == "+" || str == "-" || str == "*" || str == "/"){
                 int a = s.top();s.pop();
                 int b = s.top();s.pop();
                 if(str == "+"){
                     s.push(b+a);
                 }else if(str == "-"){
                     s.push(b - a);
                 }else if(str == "*"){
                     s.push(b*a);
                 }else{
                     s.push(b/a);
                 }
             }else{
                 s.push(std::stoi(str));
             }
         }
         return s.top();
     }
 };
面试题42:计算逆波兰表达式(RPN)的更多相关文章
- [LeetCode] Evaluate Reverse Polish Notation 计算逆波兰表达式
		Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ... 
- [LeetCode] 150. Evaluate Reverse Polish Notation 计算逆波兰表达式
		Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ... 
- [LintCode] Evaluate Reverse Polish Notation 计算逆波兰表达式
		Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ... 
- JavaScript实现计算后缀表达式(逆波兰表达式)以及将中缀表达式转为后缀表达式
		逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出.逆波兰表达式又叫做后缀表达式.这个知识点在数据结构和编译原理这两门课程中都有介绍,下面是一些例子: 正常的表达式 逆波兰表达式 a+b ... 
- java 逆波兰表达式
		最近想把这破机 装成WIN7 想想还是算了 ... 反正用的机会也不多. 不过 发现了一些 想念的东西 从前的作业. 从前的记忆. package org.lmz; import java.util ... 
- LeetCode_p150_逆波兰表达式计算/后缀表达式计算
		有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话说,表达式总会得出有效数值且不存在除 ... 
- C++实现 逆波兰表达式计算问题
		C++实现 逆波兰表达式计算问题 #include <iostream> #include <string> using namespace std; class Stack ... 
- 150. Evaluate Reverse Polish Notation逆波兰表达式
		[抄题]: Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are ... 
- leetcode算法学习----逆波兰表达式求值(后缀表达式)
		下面题目是LeetCode算法:逆波兰表达式求值(java实现) 逆波兰表达式即后缀表达式. 题目: 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式.同 ... 
随机推荐
- Billman_ford货币升值——正权回路
			2240和1860那个题目很像啊 都是问货币能不能增多,钻社会制度得空子啊哈哈 唯一不同得是你的起点是任意一个点,这个比较麻烦了,多了一层循环嘞 处理货币名可以用map分配id 然后就是老套的Bill ... 
- REST格式
			首先要明确一点:REST 实际上只是一种设计风格,它并不是标准.(所以你可以看到网上一大堆的各种最佳实践,设计指南,但是没有人说设计标准).aisuhua/restful-api-design-ref ... 
- H2内存数据库支持存储到文件
			准备工作 1.下载JDK(本人下载的版本为JDK1.7).设置环境变量JAVA_HOME,设置PATH(%JAVA_HOME%\bin%). 2.下载并解压:h2-2014-07-13.zip 官网下 ... 
- FP-Growth in Spark MLLib
			并行FP-Growth算法思路 上图的单线程形成的FP-Tree. 分布式算法事实上是对FP-Tree进行分割,分而治之 首先,假设我们只关心...|c这个conditional transactio ... 
- StructuredStream StateStore机制
			ref: https://jaceklaskowski.gitbooks.io/spark-structured-streaming/ StruncturedStream的statefule实现基于S ... 
- IIS发布网站之后,页面图片和js未加载出错
			[IIS相关]mvc做的web发布之后,运行之后界面上的图片和js都没有加载出来. 解决方案:安装IIS的时候需要勾选ASP选项,否则会出现这种情况. 如果项目是用.Netframework ... 
- Win(Phone)10开发第(4)弹,HTTP 实时流播放 m3u8
			其实这篇只有一句话,win10原生支持HLS啦 1 2 3 AdaptiveMediaSourceCreationResult amsResult = await AdaptiveMediaSourc ... 
- 企业项目开发--本地缓存guava cache(1)
			此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.在实际项目开发中,会使用到很多缓存技术,而且数据库的设计一般也会依赖于有缓存的情况下设计. 常用的缓存分 ... 
- Android------------------的资源文件的学习
			一.style的学习 用法: 使用: 使用系统自带的style的风格 使用: 效果: 二.drawable的使用 selector是一个xml文件进行加载使用的: 文件名叫做buttonselecto ... 
- “全栈2019”Java多线程第二十一章:同步代码块产生死锁的例子
			难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ... 
