# 训练string类
[TOC]
# 技巧
- 考虑,能不能加上⭐️哨兵⭐️
- 使用库函数
# 557. 反转字符串中的单词 III (opens new window)
class Solution {
public:
string reverseWords(string s) {
//哨兵
s.push_back(' ');
string res;
int pos=0;
while( pos<s.size() )
{
if( ' '==s[pos] )
{
res+=' ';
++pos;
}
else
{
int endpos=s.find(' ', pos);
string temp=s.substr( pos, endpos-pos );
reverse( temp.begin(), temp.end() );
res+=temp;
pos=endpos;
}
}
res.pop_back();
return res;
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
- 几乎类似的代码,能过58. 最后一个单词的长度 (opens new window)