题意:
给一个表达式,其中只包含 * 号与 + 号,求这个式子所能可以表示的最大值与最小值。
只有不考虑优先级,才能让式子的计算结果出现多个
在先计算加法的情况下,式子可以出现最大值
先计算乘法的情况下,式子可以出现最小值
因为 (a + b) * c > a+ b * c
解法:
求最大值
每次遇到数将数压入栈中
每次遇到乘号,就把乘号之前的栈内数字全部弹出,加和,乘在总的sum中。为方便起见,在字符表达式的最后加上一个 * 号,就可以直接计算出最后结果了。
求最小值
每次遇到数将数压入栈中
每次遇到加号,就把加号之前的栈内数字全部弹出,求乘积,加在总的sum中。为方便起见,在字符表达式的最后加上一个 + 号,就可以直接计算出最后结果了。