Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 1.01 KB

File metadata and controls

37 lines (29 loc) · 1.01 KB

784. Letter Case Permutation

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"]

Note:

  • S will be a string with length between 1 and 12.
  • S will consist only of letters or digits.

Solutions (Python)

1. Solution

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