http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/

栈使用

#include <iostream>
#include <string>
#include <vector>
#include<stack>
using namespace std; class Solution {
public:
int toNum(string str)
{
int sum = ;
int i = ;
int flagPositiveOrNegative = ;;
if(str[] == '-')
{
flagPositiveOrNegative = -;
i = ;
}
for( i;i<str.size();i++)
{
sum *= ;
sum += str[i] - '';
}
return sum * flagPositiveOrNegative;
}
int evalRPN(vector<string> &tokens) {
if(tokens.size()==)
return ;
int i = ;
stack<int> myStack;
while(i<tokens.size())
{
if(tokens[i] == "+" || tokens[i] == "-" || tokens[i]=="*" ||tokens[i] == "/" )
{
int num1 = myStack.top();
myStack.pop();
int num2 = myStack.top();
myStack.pop();
if(tokens[i] == "+")
myStack.push(num1+num2);
if(tokens[i] == "-")
myStack.push(num2-num1);
if(tokens[i] == "*")
myStack.push(num1*num2);
if(tokens[i] == "/")
myStack.push(num2/num1);
}
else
{
myStack.push(toNum(tokens[i]));
}
i++;
}
return myStack.top();
}
}; int main()
{
Solution myS;
vector<string> input;
input.push_back("");
input.push_back("-4");
input.push_back("+");
cout<<myS.evalRPN(input);
return ;
}

最新文章

  1. 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)
  2. swif-自动引用计数
  3. Windows Live Writer体验
  4. netfx_NativeCompilation.msi 传说中的 .NET Native 预览版的文件列表
  5. ios截取号码
  6. PC-PC-单片机(Arduino)通信实例
  7. LightOJ1105 Fi Binary Number(数位DP)
  8. GitHub学习资料
  9. 小心buffer的拼接问题 --转
  10. Oracle 课程八之性能优化之10046事件
  11. Qt窗体引用window自带阴影边框效果
  12. hadoop 2.x安装:完全分布式安装
  13. ZooKeeper 03 - ZooKeeper集群的脑裂问题 (Split Brain问题)
  14. GitHub下载提速
  15. 洛谷P2860 [USACO06JAN]冗余路径Redundant Paths(tarjan求边双联通分量)
  16. python nose测试框架全面介绍十二 ----用例执行顺序打乱
  17. Day 1: ASP.NET and JavaScript Jan.16th Trying
  18. pt-table-checksum工具MySQL主从复制数据一致性
  19. tomcat shutdown.sh结束不了,Could not contact localhost:8005
  20. .net提供的5种request-response方法一

热门文章

  1. BCB:AnsiString和String的区别
  2. VIM C语言函数名高亮
  3. c++ 递归求一个数的阶乘
  4. UVa-10474-大理石在哪
  5. UVa-227-谜题
  6. mysql5.7.22-log 修改远程访问
  7. python面向对象(反射)(四)
  8. 数据结构( Pyhon 语言描述 ) — — 第6章:继承和抽象类
  9. uboot的readme
  10. PAT Basic 1058