题目描述
LISPQ语言的唯一语法是括号必须配对,形如(OP P1 P2 ...)
,括号内元素由单个空格分隔。其中第一个元素OP
为操作符,后续元素均为其参数,参数个数取决于操作符类型。当前OP
类型为add
/sub
/mul
/div
(全小写),分别代表整数的加减乘除法。简单起见,所有OP
参数个数均为2。
输入描述
输入为长度不超过512的字符串,用例保证了无语法错误。
输出描述
输出计算结果或者“error”。
解题思路
这个问题可以通过递归下降解析法来解决。我们需要解析输入的字符串,识别操作符和参数,并根据操作符执行相应的计算。由于参数可能是嵌套的表达式,我们需要递归地解析和计算这些参数。
代码实现
Java_18">Java
import