python 784. 字母大小写全排列--每日一题

给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。

 

示例:
输入:S = "a1b2"
输出:["a1b2", "a1B2", "A1b2", "A1B2"]

输入:S = "3z4"
输出:["3z4", "3Z4"]

输入:S = "12345"
输出:["12345"]
 

提示:

S 的长度不超过12。
S 仅由数字和字母组成。

class Solution:
    def letterCasePermutation(self, S: str) -> List[str]:
        L=[]
        for i in range(len(S)):
            if L==[]:
                L.append(S)
            if S[i].isalpha():
                lenl=len(L)
                for x in range(lenl):
                    Lx=list(L[x])
                    if Lx[i].islower():
                        xl=[a for a in Lx]
                        xl[i]=xl[i].upper()
                        L.append("".join(xl))
                    else:
                        xl = [a for a in Lx]
                        xl[i] = xl[i].lower()
                        L.append("".join(xl))
            else:
                continue
        return L

 

posted @ 2021-04-17 18:02  JackyLaw  阅读(205)  评论(0编辑  收藏  举报