Java:
class Solution {
public String reverseVowels(String s) {
char[] rev = s.toCharArray();
int l = s.length();
String ae = "aeiouAEIOU" ;
int str = 0;
int end = l - 1;
while(str < end){
while(str < end && !ae.contains(rev[str]+"")){
str++;
}
while(str < end && !ae.contains(rev[end]+"")){
end--;
}
char temp = rev[str];
rev[str] = rev[end];
rev[end] = temp;
str++;
end--;
}
return new String(rev);
}
}
Python:
class Solution:
def reverseVowels(self, s):
"""
:type s: str
:rtype: str
"""
#(?i)即匹配时不区分大小写。表示匹配时不区分大小写。
vowels = re.findall('(?i)[aeiou]', s)
#re.sub()替换
return re.sub('(?i)[aeiou]', lambda m: vowels.pop(), s)