categories: [Blog,Algorithm]


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

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

示例 1:
输入: s = “abcdefg”, k = 2
输出: “cdefgab”

示例 2:
输入: s = “lrloseumgh”, k = 6
输出: “umghlrlose”

  1. class Solution {
  2. public String reverseLeftWords1(String s, int n) {
  3. return s.substring(n, s.length()) + s.substring(0, n);
  4. }
  5. }

很骚

  1. class Solution {
  2. public String reverseLeftWords(String s, int n) {
  3. StringBuilder res = new StringBuilder();
  4. for(int i = n; i < n + s.length(); i++)
  5. res.append(s.charAt(i % s.length()));
  6. return res.toString();
  7. }
  8. // 作者:jyd
  9. // 链接:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/solution/mian-shi-ti-58-ii-zuo-xuan-zhuan-zi-fu-chuan-qie-p/
  10. }