【问题】
【翻译】
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.
class Solution {
public:
string reverseWords(string s) {
}
};
【翻译】
给定一个字符串,要求将字符串中的每一个单词进行反转,但须保留原始的空格和单词间的顺序。
例1:
输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc"注意:在字符串中,每个单词间都只有一个空格。
【解题思路】
以空格为标志,将句子断开,找到每一个单词,然后对每一个单词进行反转。
class Solution {
public:
string reverseWords(string s) {
int i = 0, j = 0;
int n = s.size();
while(i < n)
{
i++;
if(s[i] == ' ' || i == n)
{
reverse(s.begin()+j,s.begin()+i);
while(s[i] == ' ') i++;
j = i;
}
}
return s;
}
};