https://leetcode-cn.com/problems/different-ways-to-add-parentheses/
给你一个由数字和运算符组成的字符串 expression ,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以 按任意顺序 返回答案。
**输入:**expression = “2-1-1” 输出:[0,2] 解释: ((2-1)-1) = 0 (2-(1-1)) = 2
输入:expression = “23-45”
输出:[-34,-14,-10,-10,10]
解释:
(2*(3-(45))) = -34
((23)-(45)) = -14
((2(3-4))5) = -10
(2((3-4)5)) = -10
(((23)-4)*5) = 10
条件
1 <= expression.length <= 20
expression 由数字和算符 ‘+’、‘-’ 和 ‘*’ 组成。
输入表达式中的所有整数值在范围 [0, 99]
这道题目是出现在动态规划中等难度区的,拿到这道题,我首先观察到表达式的长度最长为20,而通过规律,我发现:
1x2-3+4 就算是所有的数字都是一位(保证符号尽可能多)&