LeetCode345 Reverse Vowels of a String

文章目录
  1. 1. 描述
  2. 2. 样例
  3. 3. 思路
  4. 4. 代码

描述

Write a function that takes a string as input and reverse only the vowels of a string.

样例

1
2
3
4
Input:
"hello"
Output:
"holle"

思路

给一个字符串,只翻转字符串中的元音字符。

在普通的翻转中,加入对元音字符的判断,使得指针每次只能指向元音。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
bool check(char c) {
c = tolower(c);
return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}
string reverseVowels(string s) {
int l = 0, r = s.size()-1;
while (l < r) {
while (l < r && !check(s[l])) l++;
while (l < r && !check(s[r])) r--;
if (l < r) swap(s[l++], s[r--]);
}
return s;
}
};
分享到 评论