557. 反转字符串中的单词 III 简单
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
示例:
输入:"Let's take LeetCode contest"
输出:"s'teL ekat edoCteeL tsetnoc"
提示:
- 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。
代码参考:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(reverseWords("Let's take LeetCode contest"))
}
// Field Split Join 是好搭档
func reverseWords(s string) string {
reverse := func(word string) string {
n := len(word)
runes := make([]rune, 0, n)
for i := n - 1; i >= 0; i-- {
runes = append(runes, rune(word[i]))
}
return string(runes)
}
words := strings.Fields(s)
res := make([]string, 0, len(words))
for _, word := range words {
res = append(res, reverse(word))
}
return strings.Join(res, " ")
}
最后编辑: kuteng 文档更新时间: 2021-06-05 10:16 作者:kuteng