题目
557. Reverse Words in a String III
解题思路
遇到空格就把之前的单词反转;到结尾的时候也要做一次反转
具体代码
class Solution {
public:
void swap(string &s, int start, int end) {
while (start < end) {
char tmp = s[start];
s[start++] = s[end];
s[end--] = tmp;
}
}
string reverseWords(string s) {
int start = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] == ' ') {
swap(s, start, i - 1);
start = i + 1;
}
}
if (start < s.size())
swap(s, start, s.size() - 1);
return s;
}
};