227. Basic Calculator II
来源:互联网 发布:淘宝电脑显示屏 编辑:程序博客网 时间:2024/05/14 13:43
Implement a basic calculator to evaluate a simple expression string.
The expression string contains only non-negative integers, +, -, *, / operators and empty spaces . The integer division should truncate toward zero.
You may assume that the given expression is always valid.
Some examples:
“3+2*2” = 7
” 3/2 ” = 1
” 3+5 / 2 ” = 5
Note: Do not use the eval built-in library function.
public class Solution { public int calculate(String s) { if (s == null || s.length() == 0) return 0; s = s.replaceAll(" ", ""); if (s.length() == 0) return 0; int num = 0; char sign = '+'; Stack<Integer> stack = new Stack<Integer>(); for (int i = 0; i < s.length(); i++) { if (Character.isDigit(s.charAt(i))) { num = num * 10 + s.charAt(i)-'0'; } if (!Character.isDigit(s.charAt(i)) || i == s.length()-1) { if (sign == '+') { stack.push(num); } if (sign == '-') { stack.push(-num); } if (sign == '*') { stack.push(stack.pop()*num); } if (sign == '/') { stack.push(stack.pop()/num); } sign = s.charAt(i); num = 0; } } int res = 0; for (int i : stack) res += i; return res; }}
0 0
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II**
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- 227. Basic Calculator II
- C++ 内存笔记
- 机器学习(三)决策树学习
- xmpp Spark源码编译
- STL 标准模板库
- JavaSE_34th_Iterator接口
- 227. Basic Calculator II
- Study Jams_ViewGroups&&LinearLayout
- BestCoder Round #92 Skip the Class(STL中map的应用)
- Android从启动到程序发生的事情
- Oracle中如何查找消耗资源较大的SQL
- Spring MVC 结果跳转方式
- android支付宝支付集成研究
- 深度学习解决多视图非线性数据特征融合问题
- markdown编辑器语法——字体、字号与颜色