Basic Calculator

原创 2015年07月09日 15:24:35

反复练习

由于没有乘法和除法。只要记录每个数前的正负号,顺序相加即可。

public class Solution {
    public int calculate(String s) {
        //s.replaceAll(" ","");    
        if (s == null || s.length() == 0) {
            return -1;
        }
        Stack<Integer> sign = new Stack<Integer>();
        sign.push(1);
        int lastOp = 1;
        int result = 0;
        for (int i = 0; i < s.length(); i++) {
            switch (s.charAt(i)) {
            case ' ' :
                break;
            case '+' :
                lastOp = 1;
                break;
            case '-' :
                lastOp = -1;
                break;
            case '(' :
                sign.push(lastOp * sign.peek());
                lastOp = 1;
                break;
            case ')' :
                sign.pop();
                break;
            default:
                int num = 0;
                while (i < s.length() && Character.isDigit(s.charAt(i))) {
                    num = num * 10 + s.charAt(i) - '0';
                    i++;
                }
                result = result + sign.peek() * lastOp * num;
                i--;
            }
        }
        return result;
    }
}


Android Calculator2源码分析与修改

将Android 4.4.4的计算器Calculator移植出来,可以独立的在Android Studio中使用。完整的代码已经推到我的GitHub,链接在文末。 下面看一下效果图: 这是在三星手...
  • zhoumushui
  • zhoumushui
  • 2015年04月14日 16:13
  • 1939

【Android App】Calculator(二)计算过程详细分析

在上一片文章【Android App】Calculator(一)onCreate过程分析
  • WOAI_TT
  • WOAI_TT
  • 2014年09月09日 21:12
  • 1504

ArcGIS 10.2字段计算器(Field Calculator)批量条件赋值用法总结

前面的文章介绍了栅格计算器的常见公式大全,点击可以参照。                如果需要按不同的条件进行赋值,最先想到的是先按属性进行选择,再对选择的记录进行赋值,例如将TypeName...
  • lucky51222
  • lucky51222
  • 2017年05月19日 08:36
  • 4842

LeetCode Basic Calculator(用栈计算表达式的值)

题意:给出一个计算表达式,只包含 +,-,(,),求计算结果 思路:用栈来实现  代码如下: public class Solution { private int cal(int nu...
  • wuli2496
  • wuli2496
  • 2016年07月21日 20:34
  • 213

224-m-Basic Calculator

有括号的运算,只有加减运算。很明显本题只考察括号匹配没有再加入乘除,否则就真是半个计算器的工程了。由于我是先写了计算器二式,所以本题也想用一次扫描就出结果。但由于有括号要考虑出栈,要考虑单个括号括的数...
  • kakulukia
  • kakulukia
  • 2015年07月07日 21:50
  • 199

第一周 leetcode 224. Basic Calculator(hard)

第一周 leetcode 224. Basic Calculator(hard)题目描述: Implement a basic calculator to evaluate a simple ex...
  • renzhff
  • renzhff
  • 2017年03月13日 20:25
  • 111

Leetcode Basic Calculator 系列

Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
  • u010129448
  • u010129448
  • 2015年08月02日 13:25
  • 260

leetcode_Basic Calculator

题目: Implement a basic calculator to evaluate a simple expression string. The expression stri...
  • sunp823
  • sunp823
  • 2015年06月30日 23:43
  • 198

【leetcode】String——Basic Calculator II (227)

题目: Implement a basic calculator to evaluate a simple expression string. The expression string...
  • u013127687
  • u013127687
  • 2016年04月28日 15:25
  • 183

LeetCode No.224 Basic Calculator

LeetCode No.224 Basic Calculator
  • woshihuangjianwei
  • woshihuangjianwei
  • 2016年11月06日 22:41
  • 101
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Basic Calculator
举报原因:
原因补充:

(最多只允许输入30个字)