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
晚生不才,请多指教!
原文地址:https://www.cnblogs.com/lkc-test/p/14671659.html