算法设计与应用基础系列12
来源:互联网 发布:网络交友英语作文题目 编辑:程序博客网 时间:2024/06/05 11:09
Evaluate Reverse Polish NotationEvaluate 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这是一个很简单的题目,解答如下 用多个if即可解决
Algorithm:
pop string from the end of the vector
if it's number, just return it
if it's operation, call function recursively for 2nd operand and 1st
int evalRPN(vector<string> &n) {
string s = n.back(); n.pop_back();
if ( s== "" || s=="/" || s=="+" || s == "-" ){
int r2 = evalRPN(n);
int r1 = evalRPN(n);
if ( s=="") return r1*r2;
if ( s=="/") return r1/r2;
if ( s=="+") return r1+r2;
if ( s=="-") return r1-r2;
}
else
return atoi(s.c_str());
}
阅读全文
0 0
- 算法设计与应用基础系列12
- 算法设计与应用基础系列1
- 算法设计与应用基础系列2
- 算法设计与应用基础系列3
- 算法设计与应用基础系列4
- 算法设计与应用基础系列5
- 算法设计与应用基础系列6
- 算法设计与应用基础系列7
- 算法设计与应用基础系列8
- 算法设计与应用基础系列9
- 算法设计与应用基础系列10
- 算法设计与应用基础系列11
- 算法设计与应用基础系列13
- 算法设计与应用基础系列14
- 算法设计与应用基础系列15
- 算法设计与应用基础系列16
- 算法设计与应用基础系列17
- 算法设计与应用基础系列18
- 输入三个字符串,按由小到大的顺序输出
- Spring-整合Hebernate-5
- scrapy+mongodb爬取红袖天香
- HDU
- 使用yeoman搭建react-webpack框架的学习
- 算法设计与应用基础系列12
- Sublime Text 3常用插件安装
- centos 下 安装使用GoogleMock
- GitHub-fork/star/watch/follow
- POJ
- input、textarea标签placeholder兼容IE8浏览器js插件代码
- 控制台程序求解有理式(带括号,带小数)
- C++网站开发MVC框架TreeFrog Framework教程——8.Otama模板
- Windows 7(Win7)下Visual Studio 2012(VS2012)编译jrtplib与MinGW编译jrtplib