题目
分析
双指针法,start指针指向每个单词的首,end指针指向每个单词的尾,然后反转每个单词。
代码
class Solution {
public:
string reverseWords(string s) {
int length = s.length();
int i = 0; // i就是end
while (i < length) {
int start = i;
while (i < length && s[i] != ' ') {
i++;
}
// 反转单个单词
reverse(s.begin() + start, s.begin() + i);
// 跳过这个空格
if (i < length && s[i] == ' ') {
i++;
}
}
return s;
}
};