package main import ( "bufio" "fmt" "os" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) line, err := reader.ReadString('\n') if err != nil { fmt.Println(err.Error()) } var newStr string for i := 0; i < len(line)-1; i++ { if (line[i] >= 97 && line[i] <= 122) || (line[i] >= 65 && line[i] <= 90) { newStr += string(line[i]) } else { newStr += string(" ") } } strArr := strings.Split(newStr, " ") for i := len(strArr) - 1; i >= 0; i-- { if strArr[i] != " " { fmt.Print(strArr[i], " ") } } }
用 Go 语言写的解题思路
先统一把非字母的符号都用空格代替
再使用 strings.Split(s1," ") 把字符串分割成一个字符串数组
最后,倒序输出数组,注意的是:风格的过程中,有的空格可能会被单独分成字符串数组的一个元素,因此在输出的时候,需要先行判断,判断字符串数组中的元素不是 " "
再格式化进行输出