123456789101112131415 |
- var vowels map[rune]bool = map[rune]bool{'A': true, 'E': true, 'I': true, 'O': true, 'U': true, 'a': true, 'e': true, 'i': true, 'o': true, 'u': true}
- func reverseVowels(s string) string {
- runes := []rune(s)
- for l, r := 0, len(s)-1; l < r; l, r = l+1, r-1 {
- if vowels[runes[l]] && vowels[runes[r]] {
- runes[l], runes[r] = runes[r], runes[l]
- } else if vowels[runes[l]] {
- l--
- } else if vowels[runes[r]] {
- r++
- }
- }
- return string(runes)
- }
|