题目:
Write a function that takes a string as input and reverse only the vowels of a string.
Example 1:
Given s = "hello", return "holle".
Example 2:
Given s = "leetcode", return "leotcede".
Note:
The vowels does not include the letter "y".
解答:
char* reverseVowels(char* s) {
int* index;
int lens=strlen(s);
int lenindex;
int j=0;
index=(int*)malloc(lens*sizeof(int));
for(int i=0;i<lens;i++)
{
switch(s[i])
{
case 'a':case 'A':
case 'e':case 'E':
case 'i':case 'I':
case 'o':case 'O':
case 'u':case 'U':
index[j]=i;
j++;
break;
default: break;
}
}
lenindex=j;
for(int i=0;i<lenindex/2;i++)
{
char temp;
temp=s[index[i]];
s[index[i]]=s[index[lenindex-i-1]];
s[index[lenindex-i-1]]=temp;
}
return s;
}