【AcWing】77. 翻转单词顺序

77. 翻转单词顺序

思路

  1. 模拟
  2. 反向输出

代码

模拟遍历
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
class Solution {
public:
string reverseWords(string s) {
vector<string> v;
string a="";
int m=s.size();
for(int i=0;i<m;i++)
{
if(s[i]!=' ') a+=s[i];
else
{
v.push_back(a);
a="";
}
}
v.push_back(a);
a="";
int n=v.size();
for(int i=n-1;i>0;i--)
{
a+=v[i]+" ";
}
a+=v[0];
return a;
}
};
yxc
1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
string reverseWords(string s) {
reverse(s.begin(), s.end());
for (int i = 0; i < s.size(); i ++ ) {
int j = i + 1;
while (j < s.size() && s[j] != ' ') j ++ ;
reverse(s.begin() + i, s.begin() + j);
i = j;
}
return s;
}
};