#P1406. 7.25后端提前批面试手撕代码-栈求表达式

7.25后端提前批面试手撕代码-栈求表达式

No testdata at current.

ss表达式是一种用于表示数学表达式的文本格式,它采用前缀符号表示法,即操作符号位于其对应的操作数之前。表达式的两端使用括号包裹,参数可以有多个,以空格分隔。例如,表达式 (+ 1 2 3) 的执行结果为 1 + 2 + 3 = 6。表达式可以嵌套,嵌套的情况下总是先执行内层括号的表达式,再执行外层括号的表达式。常见的操作符包括加法(+)、减法(-)和乘法(*)。

现在,您需要编写一个程序,输入为一个字符串,表示一个ss表达式。您的程序需要支持三种操作符:加法、减法和乘法,并能正确计算表达式的值。

输入1

(+ 1 2 3)

输出1

6

输入2

(- (* (+ 1 2) 2) 3 1)

输出2

2