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.
C++ 实现 1
注意看题目中的 Note. 这题不难. 比它稍有难度的题见 151. Reverse Words in a String**.
class Solution {
public:
string reverseWords(string s) {
for (int i = 0; i < s.size(); ++ i) {
if (s[i] == ' ') continue;
int j = i;
while (j < s.size() && s[j] != ' ') ++ j;
std::reverse(s.begin() + i, s.begin() + j);
i = j;
}
return s;
}
};