classSolution:defdiffWaysToCompute(self, expression:str)-> List[int]:
res =list()for idx, symbol inenumerate(expression):if symbol =='+'or symbol =='-'or symbol =='*':
leftPart = self.diffWaysToCompute(expression[:idx])
rightPrat = self.diffWaysToCompute(expression[idx+1:])for a in leftPart:for b in rightPrat:if symbol =='+':
res.append(a + b)elif symbol =='-':
res.append(a - b)elif symbol =='*':
res.append(a * b)ifnot res:
res.append(int(expression))return res