12345678910111213141516171819 |
- func reverseStr(s string, k int) string {
- runes := []rune(s)
- n := len(s)
- beg, end := 0, k-1
- for beg < n {
- reverse(runes, n, beg, end)
- beg, end = beg+2*k, end+2*k
- }
- return string(runes)
- }
- func reverse(runes []rune, n int, l int, r int) {
- if n <= r {
- r = n - 1
- }
- for ; l < r; l, r = l+1, r-1 {
- runes[l], runes[r] = runes[r], runes[l]
- }
- }
|