123456789101112131415 |
- 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)
- }
|