LeetCode 345 Reverse Vowels of a String(字符串操作)
2017-04-06 22:57
447 查看
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".
题目大意:输入一个字符串,输出交换元音字母位置的字符串。
代码如下:
void swap(char* a, char* b)
{
char temp = *a;
*a = *b;
*b = temp;
}
int isvowel(char c)
{
c = tolower(c);
if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
return 1;
else
return 0;
}
char* reverseVowels(char* s) {
int len = strlen(s);
for(int i = 0,j = len - 1;i < j;){
if(isvowel(*(s+i)) && isvowel(*(s+j))) swap(s+i, s+j),i++,j--;
if(isvowel(*(s+i)) && !isvowel(*(s+j))) j--;
if(!isvowel(*(s+i)) && isvowel(*(s+j))) i++;
if(!isvowel(*(s+i)) && !isvowel(*(s+j))) i++,j--;
}
return s;
}
Example 1:
Given s = "hello", return "holle".
Example 2:
Given s = "leetcode", return "leotcede".
Note:
The vowels does not include the letter "y".
题目大意:输入一个字符串,输出交换元音字母位置的字符串。
代码如下:
void swap(char* a, char* b)
{
char temp = *a;
*a = *b;
*b = temp;
}
int isvowel(char c)
{
c = tolower(c);
if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
return 1;
else
return 0;
}
char* reverseVowels(char* s) {
int len = strlen(s);
for(int i = 0,j = len - 1;i < j;){
if(isvowel(*(s+i)) && isvowel(*(s+j))) swap(s+i, s+j),i++,j--;
if(isvowel(*(s+i)) && !isvowel(*(s+j))) j--;
if(!isvowel(*(s+i)) && isvowel(*(s+j))) i++;
if(!isvowel(*(s+i)) && !isvowel(*(s+j))) i++,j--;
}
return s;
}
相关文章推荐
- Leetcode 345 Reverse Vowels of a String 字符串处理
- leetcode 345:Reverse Vowels of a String
- LeetCode 345 Reverse Vowels of a String
- [LeetCode-345]Reverse Vowels of a String(java)
- [LeetCode] Reverse Vowels of a String 翻转字符串中的元音字母
- leetcode_c++: Reverse Vowels of a String(345)
- LeetCode 第 345 题(Reverse Vowels of a String)
- leetcode_345 Reverse Vowels of a String
- LeetCode 345:Reverse Vowels of a String
- 【leetcode】 Reverse Vowels of a String(翻转字符串中出现的元音字母)
- leetcode note--leetcode 345 Reverse Vowels of a String
- leetcode——345—— Reverse Vowels of a String
- 【leetcode】(Python)Reverse Vowels of a String实现字符串内元字符倒序
- leetcode 345 Reverse Vowels of a String C++
- LeetCode 345: Reverse Vowels of a String
- leetcode 345 Reverse Vowels of a String
- Python [Leetcode 345]Reverse Vowels of a String
- LeetCode - 345. Reverse Vowels of a String
- LeetCode 第 345 题(Reverse Vowels of a String)
- Leetcode Reverse Vowels of a String 345