lurenaa的博客

  

😅双指针

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Solution {
public:
string reverseWords(string s) {
int bg = 0;
stack<string> stk;
string ms, res = "";
for(int i = 0; i < s.size(); ++i) {
if(s[i] == ' ' && s[bg] != ' ') {
string ns = s.substr(bg, i - bg);
// cout << ns << ns.size() << endl;
stk.push(ns);
bg = 1 + i;
} else if(s[i] == ' '){
bg += 1;
}
}
if(bg < s.size() && s[bg] != ' ') {
string ns = s.substr(bg, s.size() - bg);
stk.push(ns);
}
while(stk.size()) {
ms = stk.top();
stk.pop();
res += ms + ' ';
}
res.erase(res.end() - 1);
return res;
}
};

Accepted

25/25 cases passed (12 ms)

Your runtime beats 54.85 % of cpp submissions

Your memory usage beats 26.22 % of cpp submissions (11.8 MB)