题目描述
给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。
思路
代码
class Solution:
def letterCasePermutation(self,S:str) -> List[str]:
res = []
def backtrack(S,p):
res.append(S)
for k in range(p,len(S)):
if 'a' <= S[k] <= 'z':
backtrack(S[:k]+S[k].upper()+S[k+1:],k+1)
elif 'A' <= S[k] <= 'Z':
backtrack(S[:k]+S[k].lower()+S[k+1:],k+1)
#return
backtrack(S,0)
return res