概述
给出一个字符串。我们的目标是将该字符串中的所有元音倒过来。
例子1
Input: "simple"
Output: "sempli"
例子2
Input: "complex"
Output: "cemplox"
程序
下面是同样的程序
package main
import "fmt"
func reverseVowels(s string) string {
runeS := []rune(s)
lenS := len(runeS)
for i, j := 0, lenS-1; i < j; {
for i < j {
if !vowel(runeS[i]) {
i++
} else {
break
}
}
if i == j {
break
}
for i < j {
if !vowel(runeS[j]) {
j--
} else {
break
}
}
if i == j {
break
}
runeS[i], runeS[j] = runeS[j], runeS[i]
i++
j--
}
return string(runeS)
}
func vowel(s rune) bool {
if s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u' {
return true
}
if s == 'A' || s == 'E' || s == 'I' || s == 'O' || s == 'U' {
return true
}
return false
}
func main() {
output := reverseVowels("simple")
fmt.Println(output)
output = reverseVowels("complex")
fmt.Println(output)
}
输出。
sempli
cemplox