题目:
这个题目和【344】题很类似,算是一个进阶,主要难点在于找到单词分割点“空格”的位置,然后进行反转即可
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
class Solution {
public:
string reverseWords(string s) {
int j;
for(int i = 0; i < s.length(); i++){
if(s[i] != ' '){
for(j = i; j < s.length() && s[j] != ' '; j++){};
reverse(s.begin() + i, s.begin() + j);
i = j;
}
}
return s;
}
};
int main(){
Solution so;
string s = "hello world";
string res = so.reverseWords(s);
cout << res <<endl;
system ("pause");
return 0;
}
字符串反转技巧
本文介绍了一种字符串中单词的反转算法,通过定位空格来分割并反转每个单词,提供了完整的C++实现代码示例。
474

被折叠的 条评论
为什么被折叠?



