|
@@ -0,0 +1,15 @@
|
|
|
+func reverseWords(s string) string {
|
|
|
+ beg, end, n := 0, 0, len(s)
|
|
|
+ res := make([]byte, n)
|
|
|
+ for end < n {
|
|
|
+ for beg = end; beg < n && s[beg] == ' '; beg++ {
|
|
|
+ res[beg] = ' '
|
|
|
+ }
|
|
|
+ for end = beg + 1; end < n && s[end] != ' '; end++ {
|
|
|
+ }
|
|
|
+ for l, r := beg, end-1; l <= r; l, r = l+1, r-1 {
|
|
|
+ res[l], res[r] = s[r], s[l]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return string(res)
|
|
|
+}
|