# 基本计算器

给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。

 

示例 1:

输入:s = "1 + 1"
输出:2

示例 2:

输入:s = " 2-1 + 2 "
输出:3

示例 3:

输入:s = "(1+(4+5+2)-3)+(6+8)"
输出:23

 

提示:

## 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 ```