反轉字元中的母音字母c語言(leetcode簡單篇三百四十五題)
阿新 • • 發佈:2018-12-16
編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。
示例 1:
輸入: “hello”
輸出: “holle”
示例 2:
輸入: “leetcode”
輸出: “leotcede”
使用雙指標遍歷一遍即可
bool checkchar(char c)
{
return c == 'a' | c == 'e' | c == 'i' | c == 'o' | c == 'u' |
c == 'A' | c == 'E' | c == 'I' | c == 'O' | c == 'U';
}
char* reverseVowels(char* s) {
int len = strlen(s);
int i = 0,j = len -1;
while(i < j)
{
while(i < j && !checkchar(s[i]))//找到左邊的母音字母
{
i++;
}
while(i < j && !checkchar(s[j]))//找到右邊的母音字母
{
j-- ;
}
if(i < j)
{
char tmp = s[i];//交換左右母音字母
s[i] = s[j];
s[j] = tmp;
i++;j--;
}
}
return s;
}