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.
AC代码如下:(同样能解决单词间不止一个空格的情况)
class Solution {
public:
string reverseWords(string s) {
int length=s.size();
int i=0;//前指针
int j=i;//后指针
while(i<length){
while(i<length&&s[i]==' ')
i++;
reverse(s.begin()+j,s.begin()+i);
j=i;
while(i<length&&s[i]!=' ')
i++;
reverse(s.begin()+j,s.begin()+i);
j=i;
}
return s;
}
};