# 基本计算器
给你一个字符串表达式 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
```python
class Solution:
def calculate(self, s: str) -> int:
s = s.replace(" ", "")
n = len(s)
sign = 1
stack = [sign]
i = sumS = 0
while i < n:
if s[i] == "(":
stack.append(sign)
i += 1
elif s[i] == ")":
stack.pop()
i += 1
elif s[i] == "+":
sign = stack[-1]
i += 1
elif s[i] == "-":
sign = -stack[-1]
i += 1
else:
num = 0
while i < n and s[i].isdigit():
num = num * 10 + int(s[i])
i += 1
sumS += sign * num
return sumS
```
## 答案
```python
```
## 选项
### A
```python
```
### B
```python
```
### C
```python
```