LeetCode 541. 反转字符串 II

题目描述

🔥 541. 反转字符串 II

image-20230312173133893

思路分析

  • 首先将字符串转换为列表,方便操作。
  • 每隔 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)
}

🍏 点击查看 Java 题解

1
write your code here
本文作者:
本文链接: https://hgnulb.github.io/blog/2023/12124492
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处!