package q345 func isVowel(b byte) bool { switch b { case 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U': return true } return false } func reverseVowels(s string) string { edit := []byte(s) l, r := 0, len(edit)-1 for l < r { for l < r && !isVowel(edit[l]) { l++ } for l < r && !isVowel(edit[r]) { r-- } if l < r { edit[l], edit[r] = edit[r], edit[l] l++ r-- } } return string(edit) } var _ = reverseVowels