Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Runtime: 68 ms, faster than 87.18% of JavaScript online submissions for Letter Case Permutation.
- // Memory Usage: 37.3 MB, less than 100.00% of JavaScript online submissions for Letter Case Permutation.
- var letterCasePermutation = function(inputString) {
- const getNewStringsByAddingUpLowChar = (strings, char) => {
- let variants = []
- if (!strings.length) {
- if (!isNaN(char)) {
- return [char]
- }
- return [char.toUpperCase(), char.toLowerCase()]
- }
- strings.forEach(item => {
- if (!isNaN(char)) {
- variants.push(item + char)
- return
- }
- variants.push(item + char.toUpperCase())
- variants.push(item + char.toLowerCase())
- })
- return variants
- }
- let result = []
- inputString.split('').forEach(char => {
- result = getNewStringsByAddingUpLowChar(result, char)
- })
- return result
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement