Leetcode 之Evaluate Reverse Polish Notation(41)
2024-08-29 12:50:36
很简单的一道题,定义一个栈保留操作数,遇操作符则弹出运算即可。
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());
}
最新文章
- [TypeScript] 建立与使用AMD Library
- web服务器选择Apache还是Nginx
- Lab_4_SysOps_Monitoring_Linux_v2.5
- C#开源大全--汇总(转)
- 原生javascript焦点轮播图
- Android BaseAdapter ListView (明星简介列表)
- Android应用中MVP最佳实践
- Java配置
- 经典排序算法 - 基数排序Radix sort
- 《Python高效开发实战》实战演练——内置Web服务器4
- Shorten Diameter
- 201521123002《Java程序设计》第14周学习总结
- ADO.NET复习总结(5)--工具类SqlHelper 实现登录
- MS SQL 批量给存储过程/函数授权
- C# 8.0的三个值得关注的新特性
- 性能测试三十四:jvm内存结构(栈、堆、永久代)
- Android图片管理组件(双缓存+异步加载)
- laravel中的数据库迁移
- 第六章 字节码执行方式--解释执行和JIT
- 利用U盘大白菜软件来重装win7系统
热门文章
- POJ3630:Phone List——题解
- POJ 3621 Sightseeing Cows | 01分数规划
- Vue语法笔记
- Markdown资料收集
- [转]Android 如何根据网络地址获取网络图片方法
- 在局域网中基于Windows文件共享的git环境搭建
- C. Line (扩展欧几里得)
- Nginx配置(一)
- 二叉树系列 - 二叉搜索树 - [LeetCode] 中序遍历中利用 pre节点避免额外空间。题:Recover Binary Search Tree,Validate Binary Search Tree
- Sandglass