Advertisement
Guest User

Untitled

a guest
Nov 16th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Runtime: 68 ms, faster than 87.18% of JavaScript online submissions for Letter Case Permutation.
  2. // Memory Usage: 37.3 MB, less than 100.00% of JavaScript online submissions for Letter Case Permutation.
  3.  
  4. var letterCasePermutation = function(inputString) {
  5.     const getNewStringsByAddingUpLowChar = (strings, char) => {
  6.         let variants = []
  7.         if (!strings.length) {
  8.             if (!isNaN(char)) {
  9.                 return [char]
  10.             }
  11.             return [char.toUpperCase(), char.toLowerCase()]
  12.         }
  13.         strings.forEach(item => {
  14.             if (!isNaN(char)) {
  15.                 variants.push(item + char)
  16.                 return
  17.             }
  18.             variants.push(item + char.toUpperCase())
  19.             variants.push(item + char.toLowerCase())
  20.         })
  21.         return variants
  22.     }
  23.  
  24.     let result = []
  25.     inputString.split('').forEach(char => {
  26.         result = getNewStringsByAddingUpLowChar(result, char)
  27.     })
  28.     return result
  29. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement