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.
Examples: Input: S = "a1b2" Output: ["a1b2", "a1B2", "A1b2", "A1B2"] Input: S = "3z4" Output: ["3z4", "3Z4"] Input: S = "12345" Output: ["12345"]
S
will be a string with length between1
and12
.S
will consist only of letters or digits.
class Solution:
def letterCasePermutation(self, S: str) -> List[str]:
ret = [""]
for ch in S:
if ch.isalpha():
tmp = [s + ch.lower() for s in ret]
ret = [s + ch.upper() for s in ret]
ret.extend(tmp)
else:
ret = [s + ch for s in ret]
return ret