很简单的一道题,定义一个栈保留操作数,遇操作符则弹出运算即可。

bool isOperator(string &op)
{
//注意用法
return op.size() == && string("+-*/").find(op) != string::npos;
}
int evalRPN(vector<string> &tokens)
{
stack<string> s;
for (auto token : tokens)
{
if (!isOperator(token))
{
//如果是操作数,则入栈
s.push(token);
}
else
{
//如果是操作符,则弹出操作数进行运算
int y = stoi(s.top());
s.pop();
int x = stoi(s.top());
s.pop();
if (token == "+")x += y;
if (token == "-")x -= y;
if (token == "*")x *= y;
if (token == "/")x /= y;
s.push(to_string(x));
}
}
return stoi(s.top());
}

最新文章

  1. [TypeScript] 建立与使用AMD Library
  2. web服务器选择Apache还是Nginx
  3. Lab_4_SysOps_Monitoring_Linux_v2.5
  4. C#开源大全--汇总(转)
  5. 原生javascript焦点轮播图
  6. Android BaseAdapter ListView (明星简介列表)
  7. Android应用中MVP最佳实践
  8. Java配置
  9. 经典排序算法 - 基数排序Radix sort
  10. 《Python高效开发实战》实战演练——内置Web服务器4
  11. Shorten Diameter
  12. 201521123002《Java程序设计》第14周学习总结
  13. ADO.NET复习总结(5)--工具类SqlHelper 实现登录
  14. MS SQL 批量给存储过程/函数授权
  15. C# 8.0的三个值得关注的新特性
  16. 性能测试三十四:jvm内存结构(栈、堆、永久代)
  17. Android图片管理组件(双缓存+异步加载)
  18. laravel中的数据库迁移
  19. 第六章 字节码执行方式--解释执行和JIT
  20. 利用U盘大白菜软件来重装win7系统

热门文章

  1. POJ3630:Phone List——题解
  2. POJ 3621 Sightseeing Cows | 01分数规划
  3. Vue语法笔记
  4. Markdown资料收集
  5. [转]Android 如何根据网络地址获取网络图片方法
  6. 在局域网中基于Windows文件共享的git环境搭建
  7. C. Line (扩展欧几里得)
  8. Nginx配置(一)
  9. 二叉树系列 - 二叉搜索树 - [LeetCode] 中序遍历中利用 pre节点避免额外空间。题:Recover Binary Search Tree,Validate Binary Search Tree
  10. Sandglass