【LeetCode】 784. 字母大小寫全排列
阿新 • • 發佈:2018-11-11
1.題目
給定一個字串S,通過將字串S中的每個字母轉變大小寫,我們可以獲得一個新的字串。返回所有可能得到的字串集合。
2.思路
遞迴思路
3.程式碼
class Solution {
public:
void change(vector<string> &res,string S,int i){
int len=S.length();
if(i>len){
res.push_back(S);
return ;
}
if(S[i]>='a'&&S[i]<='z'){
S[ i]-= 32;
change(res,S,i+1);
S[i] += 32;
}
if(S[i]>='A'&&S[i]<='Z'){
S[i]+= 32;
change(res,S,i+1);
S[i]-= 32;
}
change(res,S,i+1);
}
vector<string> letterCasePermutation(string S) {
vector<string>res;
change(res,S,0);
vector< string>::iterator t;
for(t=res.begin();t!=res.end();t++){
cout<<*t<<endl;
}
return res;
}
};