# [557. Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/) ## 题目 Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order. **Example 1**: Input: "Let's take LeetCode contest" Output: "s'teL ekat edoCteeL tsetnoc" **Note**: In the string, each word is separated by single space and there will not be any extra space in the string. ## 题目大意 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 ## 解题思路 - 反转字符串,要求按照空格隔开的小字符串为单位反转。 - 这是一道简单题。按照题意反转每个空格隔开的单词即可。 ## 代码 ```go package leetcode import ( "strings" ) func reverseWords(s string) string { ss := strings.Split(s, " ") for i, s := range ss { ss[i] = revers(s) } return strings.Join(ss, " ") } func revers(s string) string { bytes := []byte(s) i, j := 0, len(bytes)-1 for i < j { bytes[i], bytes[j] = bytes[j], bytes[i] i++ j-- } return string(bytes) } ```