241. 为运算表达式设计优先级
分治+eval()
class Solution:
def diffWaysToCompute(self, expression: str) -> List[int]:
res = []
if all(c.isdigit() for c in expression):
return [int(expression)]
for i, c in enumerate(expression):
if not c.isdigit():
res += [eval(f'{a}{c}{b}')
for a in self.diffWaysToCompute(expression[:i])
for b in self.diffWaysToCompute(expression[i+1:])
]
return res