LeetCode题解之 Letter Case Permutation

1、题目描述

2、问题分析

可以使用递归的方法解决,参考了别人的答案才写出来的。

3、代码

 1  vector<string> letterCasePermutation(string S) {
 2         vector<string> res ;
 3         recursion( S,res,0 );
 4         return res;
 5         
 6     }
 7     
 8     void recursion(string & s , vector<string> &r ,int p){
 9         if( p == s.size() ){
10             r.push_back( s );
11             return ;
12         }
13             
14         recursion( s ,r ,p+1 );
15         if( isalpha( s[p] )){
16            if( islower( s[p] ) ){
17                 s[p] += 'A' - 'a';
18             }else if( isupper( s[p] ) ){
19                 s[p] += 'a' - 'A';
20             }
21             recursion( s,r,p+1 ); 
22         }
23     }

 

posted @ 2018-07-14 19:08  山里的小勇子  阅读(163)  评论(0编辑  收藏  举报