Implement a calculator that can evaluate mathematical expressions given as strings. The expressions can contain:
- Non-negative integers (0, 1, 2, …)
- Four basic arithmetic operators:
+,-,*,/ - Parentheses:
(and)
这道题要求实现一个支持字符串表达式求值的计算器,核心是正确处理运算符优先级和括号嵌套。常见做法是使用双栈或递归下降:一个栈保存数字,另一个栈保存运算符,遇到高优先级运算或右括号时及时归约;如果题目要求整数除法,还要注意除法方向与截断规则。由于输入可能包含多位数和空格,解析时需要逐字符扫描并拼出完整数字,再结合括号结构完成计算。
正文完