[leetcode] 784. Letter Case Permutation

2022/3/9 23:20:14

本文主要是介绍[leetcode] 784. Letter Case Permutation,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目

Given a string s, you can transform every letter individually to be lowercase or uppercase to create another string.

Return a list of all possible strings we could create. Return the output in any order.

Example 1:

Input: s = "a1b2"
Output: ["a1b2","a1B2","A1b2","A1B2"]

Example 2:

Input: s = "3z4"
Output: ["3z4","3Z4"]

Constraints:

  • 1 <= s.length <= 12
  • s consists of lowercase English letters, uppercase English letters, and digits.

思路

递归,遍历字符串,当当前字符为字母时,设大小字符情况分别递归,直至遍历完毕。

代码

python版本:

class Solution:
    def letterCasePermutation(self, s: str) -> List[str]:
        res = []

        def recursion(str, i):
            while i < len(str) and not str[i].isalpha():
                i += 1
            if i == len(str):
                res.append(str)
                return
            recursion(str[:i]+str[i].upper()+str[i+1:], i+1)
            recursion(str[:i]+str[i].lower()+str[i+1:], i+1)
        recursion(s, 0)
        return res



这篇关于[leetcode] 784. Letter Case Permutation的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程