题目
Given a string S, we can transform every letter individually to be lowercase or uppercase to create another string.
Return a list of all possible strings we could create. You can return the output in any order.
解题思路
从空字符串开始拓展,遍历输入字符串,如果当前字符是字母,则将现在所有的字符串拓展成大小写两个,否则将当前字符添加在后面
代码
class Solution:
    def letterCasePermutation(self, S: str) -> List[str]:
        res = ['']
        for c in S:
            if c.isalpha():
                res = [i + j for i in res for j in [c.upper(), c.lower()]]
            else:
                res = [i + c for i in res]
        return res