字母大小写全排列

力扣网

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

class Solution {
public:
    vector<string> my_letter;
    vector<string> letterCasePermutation(string S) {        
        return letter(S,0);
    }    
    vector<string> letter(string& S,int index)
    {   
        if (index == S.size())
        {
            my_letter.push_back(S);
            return my_letter;
        }
        letter(S,index+1);
        if (isalpha(S[index]))
        {
            S[index]^=(1<<5);
            return letter(S,index+1);
        }
        return my_letter;
    }
};

回溯法。递推返回时,函数参数是否为引用,会影响最终组合顺序

上一篇:消息中间件(七)-----RabbitMQ死信队列


下一篇:万物皆可 Serverless 之使用 SCF+COS 给未来写封信