翻转字符串

给定一个字符串,逐个翻转字符串中的每个单词。

  • 单词的构成:无空格字母构成一个单词
  • 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括
  • 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
string (string &s) {
string re="";
string cha="";
for(int i=0;i<s.size();i++){
if(s[i]!=' '){
cha=cha+s[i];
}
else{
while(s[i+1]==' ') i++;
if(cha!=""&&i<s.size()) re=cha+' '+re;
else re = cha + re;
cha = "";
}
}
if(re==""){
re=cha;
}
else if(cha!="") re = cha+' '+re;
return re;
}