LeetCode 541. 反转字符串 II
题目描述
思路分析
- 首先将字符串转换为列表,方便操作。
- 每隔 2k 个字符,对前 k 个字符进行反转。
- 如果剩余字符不足 k 个,则将剩余字符全部反转。
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
func reverseStr(s string, k int) string {
runes := []rune(s)
n := len(runes)
for i := 0; i < n; i += 2 * k {
left := i
right := i + k - 1
if right >= n {
right = n - 1
}
for left < right {
runes[left], runes[right] = runes[right], runes[left]
left++
right--
}
}
return string(runes)
}
1
write your code here
CC BY-NC-SA 4.0
许可协议,转载请注明出处!
本博客所有文章除特别声明外,均采用