Skip to content

Commit ddf3747

Browse files
committed
reverse
1 parent 626815a commit ddf3747

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Reverse words 2.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
class Solution {
2+
public:
3+
string reverseWords(string s) {
4+
int start,end;
5+
int k;
6+
for ( k = 0; k < s.size() && ' ' == s[k]; k++){
7+
;
8+
}
9+
start = k;
10+
for ( k = s.size() - 1; k >= 0 && ' ' == s[k]; k--){
11+
;
12+
}
13+
end = k;
14+
int len;
15+
16+
for ( k = start, len = 0; k <= end; k++) {
17+
if (' ' == s[k] && ' ' == s[k - 1])
18+
continue;
19+
s[len++] = s[k];
20+
}
21+
s.erase(s.begin() + len, s.end());
22+
23+
reverse(s.begin(),s.end());
24+
int n=s.length();
25+
int pos=0;
26+
for(int i=0;i<n;i++){
27+
if(s[i]==' '){
28+
reverse(s.begin()+pos,s.begin()+i);
29+
pos=i+1;
30+
}
31+
}
32+
reverse(s.begin() + pos, s.end());
33+
return s;
34+
}
35+
};

0 commit comments

Comments
 (0)