leetcode-241-为运算表达式设置优先级*

题目描述:

 

 方法:分治*

class Solution:
    def diffWaysToCompute(self, input: str) -> List[int]:
        if input.isdigit():
            return [int(input)]
        tem = []
        for k in range(len(input)):
            if input[k] == '+':
                tem.extend([i + j for i in self.diffWaysToCompute(input[:k]) for j in self.diffWaysToCompute(input[k + 1:])])
            elif input[k] == '-':
                tem.extend([i - j for i in self.diffWaysToCompute(input[:k]) for j in self.diffWaysToCompute(input[k + 1:])])
            elif input[k] == '*':
                tem.extend([i * j for i in self.diffWaysToCompute(input[:k]) for j in self.diffWaysToCompute(input[k + 1:])])
        return tem

 

posted @ 2019-10-08 10:08  oldby  阅读(204)  评论(0编辑  收藏  举报