227. Basic Calculator II
发布时间:2020-12-14 21:49:24 所属栏目:大数据 来源:网络整理
导读: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. ? Example 1:
?
?
? Approach #1: Stack. [Java] class Solution { public int calculate(String s) { if (s == null || s.length() == 0) return 0; Stack<Integer> stack = new Stack(); s += ‘+‘; char op = ‘+‘; for (int i = 0,n = 0; i < s.length(); ++i) { char c = s.charAt(i); if (c >= ‘0‘ && c <= ‘9‘) { n = n * 10 + c - ‘0‘; continue; } if (c == ‘ ‘) continue; if (op == ‘+‘) stack.push(n); else if (op == ‘-‘) stack.push(-n); else if (op == ‘*‘) stack.push(stack.pop() * n); else if (op == ‘/‘) stack.push(stack.pop() / n); op = c; n = 0; } int ret = 0; while (!stack.empty()) ret += stack.pop(); return ret; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |