给你一个字符串 s ,请你反转字符串中 单词 的顺序。
单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。
返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。
地址:https://leetcode.cn/problems/reverse-words-in-a-string/?envType=study-plan-v2&envId=leetcode-75
实现思路:
先用 " "
分割字符串得到字符串数组,再遍历字符串数组清理字符串数组中多余的空串并做字符串拼接。最后修理一下多余的空格。
func reverseWords(s string) string {
res := ""
sArr := strings.Split(s, " ")
for i := len(sArr) - 1; i >= 0; i-- {
if len(sArr[i]) == 0 { // 用于清理字符串数组中多余的空串
continue
}
res += sArr[i]
res += " "
}
res = strings.TrimSpace(res)
return res
}