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.
按单词翻转字符串。要点在\0和size()的判断和处理,以及最后的空格的处理。
string reverseWords(string s) {
string str = "";
string tmp="",tmp2="";
int nCrt= 0;
while(nCrt<s.size())
{
tmp="";
while(s[nCrt]!=' '&& nCrt<s.size())
{
tmp+=s[nCrt];
nCrt++;
}
nCrt++;
tmp2=tmp;
for(int i=0;i<tmp.size();i++)
{
tmp2[i] = tmp[tmp.size()-1-i];
}
str+=tmp2;
if(nCrt<=s.size()-1)
str+=" ";
}
return str;
}