Microsoft OA 面试真题解析:Basic Calculator(带括号的四则运算表达式计算)

62次阅读
没有评论

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 )

这道题要求实现一个支持字符串表达式求值的计算器,核心是正确处理运算符优先级和括号嵌套。常见做法是使用双栈或递归下降:一个栈保存数字,另一个栈保存运算符,遇到高优先级运算或右括号时及时归约;如果题目要求整数除法,还要注意除法方向与截断规则。由于输入可能包含多位数和空格,解析时需要逐字符扫描并拼出完整数字,再结合括号结构完成计算。

正文完
 0