字符串从 n 切到末尾,和切到 n 个拼接得到结果
func reverseLeftWords(s string, n int) string {
return s[n:] + s[:n]
}
- 翻转 [0,k) 字符串
- 翻转 [k, len(k)) 字符串
- 翻转整个字符串
func reverseLeftWords(s string, n int) string {
b := []byte(s)
reverse(b[:n])
reverse(b[n:])
reverse(b)
return string(b)
}
func reverse(b []byte) {
n := len(b)
for i := 0; i < n/2; i++ {
b[i], b[n-i-1] = b[n-i-1], b[i]
}
}