原题链接:Reverse Words in a String III
分析:字符串反转是很常见的面试题,这种题的思路一般是找到空格,然后依次反转各个单词。
代码如下:
class Solution {
public:
string reverseWords(string s) {
/*
思路:反转遇到的第一个非空字符与第一个空字符之间的字符,依次后移,直至结束
Time Complexity:O(N)
Space Complexity:O(1)
*/
for(int i=0;i<s.size();i++){
if(s[i]!=' '){
int j=i;
for(;j<s.size()&&s[j]!=' ';j++);
reverse(s.begin()+i,s.begin()+j);
i=j;
}
}
return s;
}
};