LeetCode---Evaluate Reverse Polish Notation
2015-11-14 15:57
330 查看
题目大意:给出一个后缀表达式,计算出其结果。
算法思想:
设置一个操作数栈,然后开始扫描容器如果当前扫描到的元素是操作数则将其放入栈中,如果当前扫描到的元素是运算符则从栈中取出两个元素进行计算然后将结果放入栈中,按此规律知道容器扫描结束。最后栈中将只有一个结果,机后缀表达式的结果将其返回即可。
代码如下:
算法思想:
设置一个操作数栈,然后开始扫描容器如果当前扫描到的元素是操作数则将其放入栈中,如果当前扫描到的元素是运算符则从栈中取出两个元素进行计算然后将结果放入栈中,按此规律知道容器扫描结束。最后栈中将只有一个结果,机后缀表达式的结果将其返回即可。
代码如下:
class Solution { public: int evalRPN(vector<string>& tokens) { if(tokens.size()==0) return 0; stack<int> nums; for(string s:tokens){ if(s!="+"&&s!="-"&&s!="*"&&s!="/"){ nums.push(atoi(s.c_str())); } else{ int b=nums.top(); nums.pop(); int a=nums.top(); nums.pop(); if(s=="+") nums.push(a+b); if(s=="-") nums.push(a-b); if(s=="*") nums.push(a*b); if(s=="/") nums.push(a/b); } } return nums.top(); } };
相关文章推荐
- Lua提取 XXXX="YYYY" 赋值
- lua 使用 spine 的一些问题
- ngx_lua 模块提供的指令和API等
- lua ---math 库
- lua资源
- lua--简明教程
- Torch/Lua学习资料汇总
- lua 中string.char字节流的处理
- lua 中点号与冒号的区别
- [LintCode] Expression Evaluation
- lua 继承,使用元方法__index
- c++ 调用lua 函数 之lua堆栈操作
- WPF,textBox默认是失去焦点绑定值才改变,怎么做到输入框值一改变就改变绑定值. Text="{Binding EvaluationContent,UpdateSourceTrigger=PropertyChanged}"
- Lua
- lua开发--web页面服务
- Lua顺序 执行顺序
- 热更新如果是android平台的话,可以直接.cs文件到本地,然后使用反射进行加载。 如果是IOS平台的话,就没有办法直接更新.cs文件了,可以使用ULua进行搞定。
- Lua游戏开发(一)---Lua语言
- 解析Lua中关于Metatable学习笔记
- c++调用lua 函数之 lua_API