Featured image of post 剑指 Offer 58 - II. 左旋转字符串

剑指 Offer 58 - II. 左旋转字符串

题目描述

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串 “abcdefg” 和数字 2,该函数将返回左旋转两位得到的结果 “cdefgab”。

示例 1:

  • 输入: s = “abcdefg”, k = 2
  • 输出: “cdefgab”

示例 2:

  • 输入: s = “lrloseumgh”, k = 6
  • 输出: “umghlrlose”

限制:

  • 1 <= k < s.length <= 10000

解法一:一次遍历

1
2
3
4
5
6
7
8
func reverseLeftWords(s string, n int) string {
    length := len(s)
    str := make([]byte, length)
    for i := 0; i < length; i++ {
        str[i] = s[(i+n)%length]
    }
    return string(str)
}
Licensed under CC BY-NC-SA 4.0
最后更新于 2023/06/14 11:48:13
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计