227. Basic Calculator II
2016-03-15 13:05
246 查看
常用方法为两个栈,数值栈与操作符栈,每次操作符入栈前比较优先级,小的推迟运算。
以下是不用栈的方法,
以下是不用栈的方法,
class Solution { public: int calculate(string s) { istringstream is('+'+s+'+'); char op; int result=0,n,prevalue=0; while (is>>op) { if (op=='+'||op=='-') { result+=prevalue; is>>prevalue; prevalue*=op=='+'?1:-1; } else { is>>n; prevalue = op=='*'?prevalue*n:prevalue/n; } } return result; } };
相关文章推荐
- JSP中播放提示声音
- map 详细用法(常看看哦)
- C++中Vector的erase()操作以及与remove的区别
- 二叉树, 二叉查找树,二分查找算法
- 一句话总结java23种设计模式
- ScrollView反弹效果 仿小米私密短信效果
- 使用jquer获取当前时间,并赋值到input上。
- ES6之6种遍历对象属性的方法
- CentOS 6 时间,时区,设置修改及时间同步
- Handler消息机制实现更新主UI
- 如何视觉隐藏网页内容,只让它们在屏幕阅读器中可用?
- object-c 随机数总结
- SQL语句总结(视图,序列,存储过程,函数,游标)
- SSCANF这才是我想要的。。
- ASP.net MVC 网站发布 navbar 背景图片丢失 ArcGIS Web 开发学习(五)
- POJ 2299 线段树求逆序数
- 有关Intel主板驱动静默安装的一个坑
- 二分题目
- 并查集
- android 微博 微信登录