Basic Calculator II
来源:互联网 发布:音乐录制软件 编辑:程序博客网 时间:2024/06/06 01:24
对此,就是理解思路,熟练无bug
public class Solution { public int calculate(String s) { int sign = 1; int prev = 0; int mulDiv = -1; int res = 0; for (int i = 0; i < s.length(); i++) { if (Character.isDigit(s.charAt(i))) { int num = s.charAt(i) - '0'; while (++i < s.length() && Character.isDigit(s.charAt(i))) { num = num * 10 + s.charAt(i) - '0'; } --i; if (mulDiv == 0) { prev = prev*num; mulDiv = -1; } else if (mulDiv == 1) { prev = prev/num; mulDiv = -1; } else { prev = num; } } else if (s.charAt(i) == '+') { res = res + sign*prev; sign = 1; } else if (s.charAt(i) == '-') { res = res + sign*prev; sign = -1; } else if (s.charAt(i) == '*') { mulDiv = 0; } else if (s.charAt(i) == '/') { mulDiv = 1; } } res = res + prev*sign; return res; } // public int calculate(String s) { // int sign = 1; // int prev = 0; // int mulDiv = -1; // int res = 0; // for (int i = 0; i < s.length(); i++) { // if (Character.isDigit(s.charAt(i))) { // int num = s.charAt(i) - '0'; // while (++i < s.length() && Character.isDigit(s.charAt(i))) { // num = num*10 + s.charAt(i) - '0'; // } // i--; // if (mulDiv == 0) { // //res = res + prev*num; // prev = prev*num; // mulDiv = -1; // } else if (mulDiv == 1) { // //res = res + prev/num; // prev = prev/num; // mulDiv = -1; // } else { // prev = num; // } // } else if (s.charAt(i) == '+') { // res = res + sign*prev; // sign = 1; // } else if (s.charAt(i) == '-') { // res = res + sign*prev; // sign = -1; // } else if (s.charAt(i) == '*') { // mulDiv = 0; // } else if (s.charAt(i) == '/') { // mulDiv = 1; // } // } // res = res + prev*sign; // return res; // }}
0 0
- Basic Calculator & Basic Calculator II
- [LeetCode] Basic Calculator II
- Basic Calculator II
- [leetcode] Basic Calculator II
- leetcode Basic Calculator II
- Basic Calculator II
- 227Basic Calculator II
- 【LeetCode】Basic Calculator II
- Basic Calculator II
- [Leetcode]Basic Calculator II
- Basic Calculator II
- LeetCode227:Basic Calculator II
- Basic Calculator II
- Basic Calculator II
- Basic Calculator II(**)
- LeetCode Basic Calculator II
- [Leetcode]Basic Calculator II
- Basic Calculator II
- leetcode #125 in cpp
- HDU1234 开门人和关门人
- mgo insert数据的时候数据插入的不全
- 多方计算 MPC Multi-party computation
- 勾股定理一日一证连载28
- Basic Calculator II
- 安卓内存优化知识
- Windows API的概念
- 第一个真正的Windows程序
- Windows数据类型
- 宽字符与Unicode
- 与windows编程有关的重要概念
- 一个完整的Windows程序框架
- 绘制和重绘,有效矩形和无效矩形