Basic Calculator
来源:互联网 发布:淘宝京东哪个好 编辑:程序博客网 时间:2024/06/06 03:33
Implement a basic calculator to evaluate a simple expression string.
The expression string may contain open (
and closing parentheses )
, the plus +
or minus sign -
, non-negative integers and empty spaces .
You may assume that the given expression is always valid.
Some examples:
"1 + 1" = 2" 2-1 + 2 " = 3"(1+(4+5+2)-3)+(6+8)" = 23
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; int sign = 1; int result = 0; Stack<Integer> stack = new Stack<Integer>(); for(int i=0; i<s.length(); i++){ char c = s.charAt(i); if(c == ' '){ continue; } else if( isdigit(c)){ int sum = c-'0'; while(i+1<s.length() && isdigit(s.charAt(i+1))){ sum = sum*10 + s.charAt(i+1)-'0'; i++; } result += sum * sign; } else if(c == '+'){ sign = 1; } else if(c == '-'){ sign = -1; } else if( c == '('){ stack.push(result); stack.push(sign); sign = 1; result = 0; } else { // ')' result = result*stack.pop() + stack.pop(); } } return result; } public boolean isdigit(char c){ return '0'<= c && c<='9'; }}
0 0
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- Basic Calculator
- CSS选择器技巧
- 指定tomcat使用jdk版本
- android 进程通信--aidl
- js全局替换回车换行符
- 【资源分享】Prezi的介绍——PPT的取代工具(文末有安装软件教程和大量资源的下载链接)
- Basic Calculator
- 两个有序数组合并成一个有序数组
- AndroidM: Build(编译系统)
- android shape的使用
- 金币阵列问题
- ThinkPHP3.2.3整合Jpgraph插件
- Django文件上传
- spring <context:component-scan>使用说明。
- echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。