lc-go/solutions/3/q345/solution.go
2026-01-09 18:00:28 +09:00

31 lines
450 B
Go

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