LeetCode-784-アルファベット大文字小文字全配列-C言語

805 ワード

/*
 *     :
 *          ,  len       len-1   , len==0 ,    1 NULL        。
 *  len==1 ,  s[0]   ,      ret_index  ,    2 ,          。
 *
 */


int get_len(char *s){
    int i=0;
    
    while(*s++ != '\0') i++;
    
    return i;
}

char check_valid(char c){
    if((c>='a' && c<='z'))  return 'a';
    
    if((c>='A' && c<='Z'))  return 'A';
    
    return '0';
}

void rec(char *s, int len, int index, char **ret, int *ret_index){
    int j;
    
    if(index < 0) return;
    /* get index-1 result */
    rec(s, len, index-1, ret, ret_index);
    
    /* set current resut */
    if(check_valid(s[index]) == '0'){
        /* index    ,s     index     */
        for(j=0; j