1. 程式人生 > >【LeetCode】 784. 字母大小寫全排列

【LeetCode】 784. 字母大小寫全排列

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; } };