https://leetcode.com/problems/basic-calculator-ii/?tab=Description
有加减乘除和空格的字符串,计算结果
pre & res & op & cur + while循环
public class Solution { public int calculate(String s) { s = s.trim().replaceAll(" ", ""); int res = 0; long pre = 0; int i = 0; char op = '+'; while (i < s.length()) { long cur = 0; while (i < s.length() && Character.isDigit(s.charAt(i))) { cur = cur * 10 + s.charAt(i) - '0'; i++; } if (op == '+') { res += pre; pre = cur; } else if (op == '-') { res += pre; pre = -cur; } else if (op == '*') { pre = pre * cur; } else if (op == '/') { pre = pre / cur; } if (i < s.length()) { op = s.charAt(i++); } } res += pre; return res; } }