给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。
S = "a1b2"
输出:["a1b2", "a1B2", "A1b2", "A1B2"]
算法
笛卡尔积?!
库函数lambda + itertools模块里product
def letterCasePermutation(self, S: str) -> List[str]:
f = lambda x: (x.lower(), x.upper()) if x.isalpha() else x
return map("".join, itertools.product(*map(f, S)))
递归
二分
lambda实现匿名函数
lambda [arg1 [,arg2,.....argn]]:expression
这个解法好像是lee215大佬的,一脸懵逼