# 基本计算器
给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。
 
示例 1:
输入:s = "1 + 1"
输出:2
示例 2:
输入:s = " 2-1 + 2 "
输出:3
示例 3:
输入:s = "(1+(4+5+2)-3)+(6+8)"
输出:23
 
提示:
	1 <= s.length <= 3 * 105 
	s 由数字、'+'、'-'、'('、')'、和 ' ' 组成 
	s 表示一个有效的表达式 
## template
```java
class Solution {
	public int calculate(String s) {
		int res = 0, num = 0;
		Stack sta = new Stack();
		char preSign = '+';
		int len = s.length();
		for (int i = 0; i < len; i++) {
			char ch = s.charAt(i);
			if (Character.isDigit(ch)) {
				num = num * 10 + ch - '0';
			}
			if ((!Character.isDigit(ch) && ch != ' ') || i == len - 1) {
				if (preSign == '+') {
					sta.push(num);
				} else if (preSign == '-') {
					sta.push(-1 * num);
				} else if (preSign == '*') {
					sta.push(num * sta.pop());
				} else if (preSign == '/') {
					sta.push(sta.pop() / num);
				}
				num = 0;
				preSign = ch;
			}
		}
		while (!sta.isEmpty()) {
			res += sta.pop();
		}
		return res;
	}
}
```
## 答案
```java
```
## 选项
### A
```java
```
### B
```java
```
### C
```java
```