美文网首页
Leetcode784. 字母大小全排列

Leetcode784. 字母大小全排列

作者: LonnieQ | 来源:发表于2019-11-10 12:05 被阅读0次

题目

给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。

示例:

输入: S = "a1b2"
输出: ["a1b2", "a1B2", "A1b2", "A1B2"]

输入: S = "3z4"
输出: ["3z4", "3Z4"]

输入: S = "12345"
输出: ["12345"]

注意:

S 的长度不超过12。
S 仅由数字和字母组成。

C++解法

class Solution {
public:
    vector<string> letterCasePermutation(string S) {
        int numberOfLetters = 0;
        for (auto c: S) {
            if (isalpha(c)) ++numberOfLetters;
        }
        int value = 0;
        vector<string> words;
        int maxValue = 1 << (numberOfLetters);
        string word;
        while (value < maxValue) {
            numberOfLetters = 0;
            word.clear();
            for (auto c: S) {
                if (isalpha(c)) {
                    if (value & (1 << numberOfLetters)) {
                        word.push_back(toupper(c));
                    } else {
                        word.push_back(tolower(c));
                    }
                    ++numberOfLetters;
                } else {
                    word.push_back(c);
                }
            }
            words.push_back(word);
            ++value;
        }
        return words;
    }
};

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/letter-case-permutation

相关文章

  • Leetcode784. 字母大小全排列

    题目 给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串...

  • Python小白 Leetcode刷题历程 No.46-N

    Python小白 Leetcode刷题历程 No.46-No.50 全排列、全排列Ⅱ、旋转图像、字母异...

  • 排名

    明明看到 按拼音字母顺序排列的 按笔画多少排列的 按辈分前后排列的 按职位高低排列的 按捐赠多寡排列的 按贡献大小...

  • String字符计算

    大小写转换 字母和数字在Unicode 表中是顺序排列的'0','1','2'......'9'大写字母和小写字母...

  • 几种计算全排列的方法

    基于golang实现,有非并发实现和并发实现 递归 全排列问题,比如打印1-9的共9个字母的全排列。先输出1,然后...

  • 46. 全排列、77. 组合、784. 字母大小写全排列

    今天的三道题都是用的回溯的算法,参考这里[https://mp.weixin.qq.com/s/qT6WgR6Qw...

  • 784. 字母大小写全排列

    内容 给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串...

  • 784. 字母大小写全排列

    给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。...

  • LeetCode 字母大小写全排列-784

    题目 给定一个字符串 S,通过将字符串 S 中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的...

  • iOS 数组按照首字母升序排列

    数组按照首字母升序排列 将数组按照首字母英文升序排列'a'->'z'

网友评论

      本文标题:Leetcode784. 字母大小全排列

      本文链接:https://www.haomeiwen.com/subject/pltabctx.html