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

一、题目

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

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

二、解法

使用切片:

class Solution {
    public String reverseLeftWords(String s, int n) {
        return s.substring(n,s.length())+s.substring(0,n);
    }
}

遍历拼接:

class Solution {
    public String reverseLeftWords(String s, int n) {
        int len=s.length();
        StringBuilder sb=new StringBuilder();
        for(int i=n;i<n+len;i++){
            sb.append(s.charAt(i%len));
        }
        return sb.toString();
    }
}
posted @ 2022-02-08 09:43  livingsu  阅读(29)  评论(0)    收藏  举报