package main
import (
"fmt"
"strings"
)
func reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r) - 1; i < j; i, j = i + 1, j - 1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
func reverseMiddleWords(s string) string {
words := strings.Fields(s) // handles multiple spaces
if len(words) < 3 {
return s // nothing to reverse
}
for i := 1; i < len(words) - 1; i++ {
words[i] = reverse(words[i])
}
return strings.Join(words, " ")
}
func main() {
input := "Hello how are you today"
fmt.Println(reverseMiddleWords(input))
}
/*
run:
Hello woh era uoy today
*/