【Leetcode】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.

class Solution(object):

    def letterCasePermutation(self, S):

        """

        :type S: str

        :rtype: List[str]

        """

        if not S: return ['']

        res = ['']

        for s in S:

            if s.isalpha():

                res = [i+j for i in res for j in [s.upper(), s.lower()]]

            else:

                res = [i+s for i in res]

        return res

1 判断是否是字母,用str.isalpha()

2 初始化一个list=[],但由于list中的element是字符串,所以初始化写成['']的形式,代表初始化为以字符串为element的list

3 一个字符一个字符地判断,将此字符前的所有字符的所有permutation都写到res中,当判断下一个字符时,只需要将之前所有组合+当前字符的形式再做一次permutation就可以了

4 if not S: return [''] 也是要返回成这样才行

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,763评论 0 3
  • 各校历年复试机试试题 清华、北大、华科试题详细笔记部分,少笔记部分与少数leetcode【含个人整理笔记】 一、详...
    医学工程与科学园地阅读 4,994评论 0 1
  • 原题链接原题大意:给定字符串s,字符串中每个字母的大小写不同可组成新的字符串,求出可能组成的全部字符串。下面是给出...
    敢想敢做_阅读 3,184评论 0 0
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,174评论 0 2
  • 朋友说,这是一个适合浪的城市…… (一) 他从座位上起身,回头对着地铁运行线路图看来看去,从运行的一端数到另一端,...
    惠小梨阅读 3,633评论 0 0

友情链接更多精彩内容