784. Letter Case Permutation (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def letterCasePermutation(self, s: str) -> List[str]:
        result = []
        def helper(i, s):
            if i == len(s):
                result.append("".join(s))
            else:
                if s[i].isalpha():
                    temp = list(s)
                    temp[i] = s[i].swapcase()
                    helper(i + 1, temp)
                helper(i + 1, s)
        helper(0, s)
        return result