mirror of
https://gitlab.com/mfocko/LeetCode.git
synced 2024-11-10 00:09:06 +01:00
27 lines
667 B
C#
27 lines
667 B
C#
|
public class Solution {
|
||
|
private bool IsVowel(char c) {
|
||
|
return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
|
||
|
}
|
||
|
|
||
|
public string ReverseVowels(string s) {
|
||
|
var reversed = new StringBuilder(s);
|
||
|
|
||
|
s = s.ToLower();
|
||
|
for (int l = 0, r = reversed.Length - 1; l < r; ++l, --r) {
|
||
|
while (l < reversed.Length && !IsVowel(s[l])) {
|
||
|
++l;
|
||
|
}
|
||
|
|
||
|
while (r > 0 && !IsVowel(s[r])) {
|
||
|
--r;
|
||
|
}
|
||
|
|
||
|
if (l < r) {
|
||
|
(reversed[l], reversed[r]) = (reversed[r], reversed[l]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return reversed.ToString();
|
||
|
}
|
||
|
}
|