Letter Case Permutation
Description
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. You can return the output in any order.
Example 1:
Input: S = "a1b2" Output: ["a1b2","a1B2","A1b2","A1B2"]
Example 2:
Input: S = "3z4" Output: ["3z4","3Z4"]
Example 3:
Input: S = "12345" Output: ["12345"]
Example 4:
Input: S = "0" Output: ["0"]
Constraints:
S
will be a string with length between1
and12
.S
will consist only of letters or digits.
Solution(javascript)
const letterCasePermutation = function (S = '') {
const result = []
const aux = (index = 0, current = '') => {
if (index >= S.length) {
result.push(current)
return
}
if (/[a-zA-Z]/.test(S[index])) {
aux(index + 1, current + S[index].toLowerCase())
aux(index + 1, current + S[index].toUpperCase())
} else {
aux(index + 1, current + S[index])
}
}
aux()
return result
}