class Solution {
public:
void reverseWords(string &s) {
int n=s.size();
if (!n) return;
stack<string> words;
int start=0, len=0;
while (start<n) {
while (s[start+len]!=' ' && start+len<n) {
len++;
}
if(len) {
words.push(s.substr(start,len));
words.push(" ");
}
start+=len+1;
len=0;
}
if (!words.size()) {
s="";
return;
}
string res="";
words.pop();
while (words.size()) {
res += words.top();
words.pop();
}
s=res;
}
};Reverse Words in a String
最新推荐文章于 2024-01-04 11:20:32 发布
本文介绍了一种使用C++实现字符串中单词顺序反转的方法。通过栈来辅助处理,将字符串按单词分割并依次压入栈中,最后依次弹出栈中的元素得到反转后的单词顺序。此方法适用于编程初学者了解字符串操作及栈的应用。
488

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



